摘要:但也可用于數(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; // truefor 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為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
摘要:函數(shù)的關(guān)鍵字的作用是停止執(zhí)行退出函數(shù)暫停執(zhí)行,等待方法調(diào)用停止執(zhí)行,可自行恢復(fù)執(zhí)行答案解析函數(shù)可以有很多個。簡答題說出至少個的新特性,并簡述它們的作用。簡答題答關(guān)鍵字,用于聲明只在塊級作用域起作用的變量。對象,更合理規(guī)范地處理異步操作。 通過對ES6系列文章的學(xué)習(xí),相信大家對ES6已結(jié)有一定程度的了解。 所以本節(jié)的目的在于通過測試,便于讓大家了解在學(xué)習(xí)中的知識掌握情況,查缺補(bǔ)漏,一步一...
摘要:返回一個布爾值,表示該值是否為的成員。清除所有成員,沒有返回值。該數(shù)組中的每一項也必須是數(shù)組,內(nèi)部數(shù)組的首個項會作為鍵,第二項則為對應(yīng)值。返回所有成員的遍歷器需要特別注意的是,的遍歷順序就是插入順序。 Js大部分歷史時期都只存在一種集合類型,也就是數(shù)組類型。數(shù)組在 JS 中的使用正如其他語言的數(shù)組一樣,但缺少更多類型的集合導(dǎo)致數(shù)組也經(jīng)常被當(dāng)作隊列與棧來使用。數(shù)組只使用了數(shù)值型的索引,而...
摘要:返回一個布爾值,表示該值是否為的成員。清除所有成員,沒有返回值。上面代碼中,方法返回的遍歷器,同時包括鍵名和鍵值,所以每次輸出一個數(shù)組,它的兩個成員完全相等。因此,適合臨時存放一組對象,以及存放跟對象綁定的信息。 Js大部分歷史時期都只存在一種集合類型,也就是數(shù)組類型。數(shù)組在 JS 中的使用正如其他語言的數(shù)組一樣,但缺少更多類型的集合導(dǎo)致數(shù)組也經(jīng)常被當(dāng)作隊列與棧來使用。數(shù)組只使用了數(shù)值...
摘要:和定義一組鍵值對的集合它是一組鍵值對的數(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é)生年齡,...
摘要:構(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 的鍵...
閱讀 3403·2021-09-22 15:05
閱讀 2935·2019-08-30 15:56
閱讀 1199·2019-08-29 17:09
閱讀 995·2019-08-29 15:12
閱讀 2218·2019-08-26 11:55
閱讀 3340·2019-08-26 11:52
閱讀 3512·2019-08-26 10:29
閱讀 1501·2019-08-23 17:19