亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

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

Labradors / 3484人閱讀

摘要:但也可用于數(shù)組遍歷,返回的值是數(shù)組的索引,因為,嚴(yán)格來說,數(shù)組也是一個對象,所對應(yīng)的屬性是每個值的索引。只遍歷對象自身的和繼承的可枚舉的屬性摘自阮一峰入門對象擴(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);
    }
// 報錯 
[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)格來說,數(shù)組也是一個對象,所對應(yīng)的屬性是每個值的索引。 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方法返回的是一個遍歷器,當(dāng)用for-of去遍歷的時候, 自動調(diào)用里面的next方法。
如[8], [9]所示,數(shù)組原生具備iterator接口(即默認(rèn)部署了Symbol.iterator屬性),for...of循環(huán)本質(zhì)上就是調(diào)用這個接口產(chǎn)生的 遍歷器。再看

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

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

相關(guān)文章

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

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

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

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

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

    摘要:返回一個布爾值,表示該值是否為的成員。清除所有成員,沒有返回值。上面代碼中,方法返回的遍歷器,同時包括鍵名和鍵值,所以每次輸出一個數(shù)組,它的兩個成員完全相等。因此,適合臨時存放一組對象,以及存放跟對象綁定的信息。 Js大部分歷史時期都只存在一種集合類型,也就是數(shù)組類型。數(shù)組在 JS 中的使用正如其他語言的數(shù)組一樣,但缺少更多類型的集合導(dǎo)致數(shù)組也經(jīng)常被當(dāng)作隊列與棧來使用。數(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ù)可以接受一個數(shù)組作為參數(shù)。本身是一個構(gòu)造函數(shù),用來生成數(shù)據(jù)結(jié)構(gòu)。實例對象的屬性返回實例的成員總數(shù)。返回一個布爾值,表示該值是否為的成員。清除所有成員,沒有返回值。返回鍵值對的遍歷器。使用回調(diào)函數(shù)遍歷每個成員。Map Map對象保存鍵值對。任何值(對象或者原始值) 都可以作為一個鍵或一個值。構(gòu)造函數(shù)Map可以接受一個數(shù)組作為參數(shù)。 Map和Object的區(qū)別 一個Object 的鍵...

    趙春朋 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<