成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

(for in)遍歷鍵名和 (for of)遍歷鍵值,這種說法嚴(yán)謹(jǐn)嗎?

Labradors / 3417人閱讀

摘要:但也可用于數(shù)組遍歷,返回的值是數(shù)組的索引,因?yàn)?,?yán)格來說,數(shù)組也是一個(gè)對象,所對應(yīng)的屬性是每個(gè)值的索引。只遍歷對象自身的和繼承的可枚舉的屬性摘自阮一峰入門對象擴(kuò)展一章。為新增遍歷方法。

[1] const arr = [7, 8, 9];
const obj = {
  a: 4,
  b: 5,
  c: 6
};
[2] for (let v in arr){
 console.log(v);
}
// 0, 1, 2
[3 ]for (let v in obj){
 console.log(v);
}
// a, b, c
[4] arr.child = "child";
[5] arr.__proto__.getChild = function () {
    return this.child;
     };
[6] Array.prototype.parent = "parent";
[7] for (let v in arr){
        console.log(v);
     }
//  0, 1, 2, child, getChild, parent
[8]for (let v of arr){
       console.log(v);
    }
// 7, 8, 9
[9] for (let v of arr.values()){
       console.log(v);
    }
// 7, 8, 9
[10] for (let v of obj){
       console.log(v);
    }
// 報(bào)錯(cuò) 
[11] typeof arr.keys(); // "object"
arr.keys() instanceof Array; // false
arr.keys() instanceof Object; // true
for in

for in在ES5中便出現(xiàn)了。一般用來遍歷對象屬性。但也可用于數(shù)組遍歷,返回的值是數(shù)組的索引,因?yàn)?,?yán)格來說,數(shù)組也是一個(gè)對象,所對應(yīng)的屬性是每個(gè)值的索引。 for-in只遍歷對象自身的和繼承的可枚舉的屬性(摘自 阮一峰ECMAScript 6 入門-對象擴(kuò)展一章)
如[4]、[5]、[6]所示,為數(shù)組添加可遍歷屬性 (所對應(yīng)描述器descriptor的enumerable屬性為true) ,在[7]中用for-in遍歷都可遍歷出來。

for of

for of為ES6新增遍歷方法。其可遍歷所有具有 iterator 接口的數(shù)據(jù)結(jié)構(gòu)。for...of循環(huán)內(nèi)部調(diào)用的是數(shù)據(jù)結(jié)構(gòu)的Symbol.iterator方法(generator函數(shù))。(摘自 阮一峰ECMAScript 6 入門--Iterator 和 for...of 循環(huán)一章)。Symbol.iterator方法返回的是一個(gè)遍歷器,當(dāng)用for-of去遍歷的時(shí)候, 自動(dòng)調(diào)用里面的next方法。
如[8], [9]所示,數(shù)組原生具備iterator接口(即默認(rèn)部署了Symbol.iterator屬性),for...of循環(huán)本質(zhì)上就是調(diào)用這個(gè)接口產(chǎn)生的 遍歷器。再看

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/97841.html

相關(guān)文章

  • ES6—面試常見ES6問題集錦(14)

    摘要:函數(shù)的關(guān)鍵字的作用是停止執(zhí)行退出函數(shù)暫停執(zhí)行,等待方法調(diào)用停止執(zhí)行,可自行恢復(fù)執(zhí)行答案解析函數(shù)可以有很多個(gè)。簡答題說出至少個(gè)的新特性,并簡述它們的作用。簡答題答關(guān)鍵字,用于聲明只在塊級作用域起作用的變量。對象,更合理規(guī)范地處理異步操作。 通過對ES6系列文章的學(xué)習(xí),相信大家對ES6已結(jié)有一定程度的了解。 所以本節(jié)的目的在于通過測試,便于讓大家了解在學(xué)習(xí)中的知識掌握情況,查缺補(bǔ)漏,一步一...

    genedna 評論0 收藏0
  • es6 Map和set

    摘要:返回一個(gè)布爾值,表示該值是否為的成員。清除所有成員,沒有返回值。該數(shù)組中的每一項(xiàng)也必須是數(shù)組,內(nèi)部數(shù)組的首個(gè)項(xiàng)會(huì)作為鍵,第二項(xiàng)則為對應(yīng)值。返回所有成員的遍歷器需要特別注意的是,的遍歷順序就是插入順序。 Js大部分歷史時(shí)期都只存在一種集合類型,也就是數(shù)組類型。數(shù)組在 JS 中的使用正如其他語言的數(shù)組一樣,但缺少更多類型的集合導(dǎo)致數(shù)組也經(jīng)常被當(dāng)作隊(duì)列與棧來使用。數(shù)組只使用了數(shù)值型的索引,而...

    superPershing 評論0 收藏0
  • es6 Set和WeakSet

    摘要:返回一個(gè)布爾值,表示該值是否為的成員。清除所有成員,沒有返回值。上面代碼中,方法返回的遍歷器,同時(shí)包括鍵名和鍵值,所以每次輸出一個(gè)數(shù)組,它的兩個(gè)成員完全相等。因此,適合臨時(shí)存放一組對象,以及存放跟對象綁定的信息。 Js大部分歷史時(shí)期都只存在一種集合類型,也就是數(shù)組類型。數(shù)組在 JS 中的使用正如其他語言的數(shù)組一樣,但缺少更多類型的集合導(dǎo)致數(shù)組也經(jīng)常被當(dāng)作隊(duì)列與棧來使用。數(shù)組只使用了數(shù)值...

    marser 評論0 收藏0
  • es6學(xué)習(xí)之map和set

    摘要:和定義一組鍵值對的集合它是一組鍵值對的數(shù)據(jù)結(jié)構(gòu),由于之前的鍵必須是字符串。 Map和Set Map 定義:一組鍵值對的集合 它是一組鍵值對的數(shù)據(jù)結(jié)構(gòu),由于之前javascript的鍵(key)必須是字符串。為了使鍵可以是多種類型的于是在最新的es6中引入了map這種數(shù)據(jù)結(jié)構(gòu),這樣可以加快查詢速度,類似于查字典 方法和屬性 var m = map() //空map m.set(學(xué)生年齡,...

    lvzishen 評論0 收藏0
  • 徹底弄懂ES6中Map和Set

    摘要:構(gòu)造函數(shù)可以接受一個(gè)數(shù)組作為參數(shù)。本身是一個(gè)構(gòu)造函數(shù),用來生成數(shù)據(jù)結(jié)構(gòu)。實(shí)例對象的屬性返回實(shí)例的成員總數(shù)。返回一個(gè)布爾值,表示該值是否為的成員。清除所有成員,沒有返回值。返回鍵值對的遍歷器。使用回調(diào)函數(shù)遍歷每個(gè)成員。Map Map對象保存鍵值對。任何值(對象或者原始值) 都可以作為一個(gè)鍵或一個(gè)值。構(gòu)造函數(shù)Map可以接受一個(gè)數(shù)組作為參數(shù)。 Map和Object的區(qū)別 一個(gè)Object 的鍵...

    趙春朋 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<