最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

通過實(shí)例解析JavaScript for in及for of區(qū)別

 更新時(shí)間:2020年06月15日 11:03:23   作者:ssaylo  
這篇文章主要介紹了通過實(shí)例解析JavaScript for in及for of區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

對(duì)數(shù)組的遍歷大家最常用的就是for循環(huán),ES5的話也可以使用forEach,ES5具有遍歷數(shù)組功能的還有map、filter、some、every、reduce、reduceRight等,只不過他們的返回結(jié)果不一樣。但是使用foreach遍歷數(shù)組的話,使用break不能中斷循環(huán),使用return也不能返回到外層函數(shù)。

那么接下來我們一起看一下for in 和for of 的區(qū)別吧。

for in

看一個(gè)簡單的例子

//for in 應(yīng)用于數(shù)組
Array.prototype.sayHello = function(){
  console.log("Hello")
}
Array.prototype.str = 'world';
var myArray = [1,2,10,30,100];
myArray.name='數(shù)組';
 
for(let index in myArray){
  console.log(index);
}
//輸出結(jié)果如下
0,1,2,3,4,name,str,sayHello
 
//for in 應(yīng)用于對(duì)象中
Object.prototype.sayHello = function(){
  console.log('Hello');
}
Obeject.prototype.str = 'World';
var myObject = {name:'zhangsan',age:100};
 
for(let index in myObject){
  console.log(index);
}
//輸出結(jié)果
name,age,str,sayHello
//首先輸出的是對(duì)象的屬性名,再是對(duì)象原型中的屬性和方法,
//如果不想讓其輸出原型中的屬性和方法,可以使用hasOwnProperty方法進(jìn)行過濾
for(let index in myObject){
  if(myObject.hasOwnProperty(index)){
    console.log(index)
  }
}
//輸出結(jié)果為
name,age
//你也可以用Object.keys()方法獲取所有的自身可枚舉屬性組成的數(shù)組。
Object.keys(myObject)

可以看出for in 應(yīng)用于數(shù)組循環(huán)返回的是數(shù)組的下標(biāo)和數(shù)組的屬性和原型上的方法和屬性,而for in應(yīng)用于對(duì)象循環(huán)返回的是對(duì)象的屬性名和原型中的方法和屬性。

使用for in 也可以遍歷數(shù)組,但是會(huì)存在以下問題:

1.index索引為字符串型數(shù)字,不能直接進(jìn)行幾何運(yùn)算

2.遍歷順序有可能不是按照實(shí)際數(shù)組的內(nèi)部順序

3.使用for in會(huì)遍歷數(shù)組所有的可枚舉屬性,包括原型。例如上栗的原型方法method和name屬性

Object.prototype.sayHello = function(){
  console.log('Hello');
}
var myObject = {
  name:'zhangsan',
  age:10
}
 
for(let key of myObject){
  consoloe.log(key);
}
//輸出結(jié)果
//typeError
 
Array.prototype.sayHello = function(){
  console.log("Hello");
}
var myArray = [1,200,3,400,100];
for(let key of myArray){
  console.log(key);
}
//輸出結(jié)果
1,200,3,400,100

for in遍歷的是數(shù)組的索引(即鍵名),而for of遍歷的是數(shù)組元素值。 所以for in更適合遍歷對(duì)象,不要使用for in遍歷數(shù)組。JavaScript for in 和 for of 的區(qū)別

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • javascript判斷變量是否有值的方法

    javascript判斷變量是否有值的方法

    這篇文章主要介紹了javascript判斷變量是否有值的方法,可實(shí)現(xiàn)有效判斷值的功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 基于JS實(shí)現(xiàn)簡單滑塊拼圖游戲

    基于JS實(shí)現(xiàn)簡單滑塊拼圖游戲

    本文通過實(shí)例代碼給大家介紹了JS實(shí)現(xiàn)簡單滑塊拼圖游戲,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-10-10
  • javascript appendChild,innerHTML,join性能比較代碼

    javascript appendChild,innerHTML,join性能比較代碼

    在實(shí)際應(yīng)用中,應(yīng)該避免直接用innerHTML,對(duì)于大量的字符連接運(yùn)算,應(yīng)該考慮先運(yùn)算再輸出。
    2009-08-08
  • JavaScript自定義Webpack配置實(shí)現(xiàn)流程介紹

    JavaScript自定義Webpack配置實(shí)現(xiàn)流程介紹

    本系列主要整理前端面試中需要掌握的知識(shí)點(diǎn)。本節(jié)介紹webpack如何優(yōu)化前端性能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-10-10
  • JS文本獲得焦點(diǎn)清除文本文字的示例代碼

    JS文本獲得焦點(diǎn)清除文本文字的示例代碼

    本篇文章主要是對(duì)JS文本獲得焦點(diǎn)清除文本文字的示例代碼進(jìn)行介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2014-01-01
  • TypeScript與JavaScript項(xiàng)目里引入MD5校驗(yàn)和

    TypeScript與JavaScript項(xiàng)目里引入MD5校驗(yàn)和

    這篇文章主要介紹了TypeScript與JavaScript項(xiàng)目里引入MD5校驗(yàn)和,MD5校驗(yàn)和可以用于驗(yàn)證網(wǎng)絡(luò)文件傳輸?shù)耐暾砸约胺乐刮募蝗舜鄹?。下文我們就一起來學(xué)習(xí)TypeScript與JavaScript項(xiàng)目里引入MD5校驗(yàn)和_MD5校驗(yàn),需要的朋友可以參考一下
    2022-02-02
  • 按鈕JS復(fù)制文本框和表格的代碼

    按鈕JS復(fù)制文本框和表格的代碼

    有時(shí)候我們需要復(fù)制一個(gè)框的內(nèi)容或者整個(gè)表格,一般的操作很可能造成一些不方便,一是操作步驟較為復(fù)制,一是復(fù)制表格的時(shí)候容易復(fù)制不完整或者格式出錯(cuò)。
    2011-04-04
  • 純js模擬div層彈性運(yùn)動(dòng)的方法

    純js模擬div層彈性運(yùn)動(dòng)的方法

    這篇文章主要介紹了純js模擬div層彈性運(yùn)動(dòng)的方法,涉及javascript操作div層實(shí)現(xiàn)運(yùn)動(dòng)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • js實(shí)現(xiàn)一個(gè)鏈接打開兩個(gè)鏈接地址的方法

    js實(shí)現(xiàn)一個(gè)鏈接打開兩個(gè)鏈接地址的方法

    這篇文章主要介紹了js實(shí)現(xiàn)一個(gè)鏈接打開兩個(gè)鏈接地址的方法,可實(shí)現(xiàn)連續(xù)打開兩個(gè)鏈接的功能,非常簡單實(shí)用的技巧,需要的朋友可以參考下
    2015-05-05
  • Echarts圖例組件的屬性與源代碼

    Echarts圖例組件的屬性與源代碼

    圖例組件展現(xiàn)了不同系列的標(biāo)記(symbol),顏色和名字,可以通過點(diǎn)擊圖例控制哪些系列不顯示,這篇文章主要給大家介紹了關(guān)于Echarts圖例組件的相關(guān)資料,需要的朋友可以參考下
    2021-06-06

最新評(píng)論

浦县| 万山特区| 葵青区| 衡南县| 光山县| 江陵县| 通城县| 灯塔市| 西宁市| 炎陵县| 安达市| 宜良县| 永清县| 开鲁县| 河池市| 察哈| 祁连县| 崇仁县| 昔阳县| 天等县| 吉木萨尔县| 青浦区| 孟村| 怀仁县| 阿拉善右旗| 临西县| 肇东市| 洮南市| 玉溪市| 正安县| 防城港市| 乐都县| 贵阳市| 麟游县| 沙田区| 凤翔县| 得荣县| 佛山市| 东阳市| 麻栗坡县| 永胜县|