摘要:但也可用于數(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; // truefor 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為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
摘要:函數(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ǔ)漏,一步一...
摘要:返回一個(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ù)值型的索引,而...
摘要:返回一個(gè)布爾值,表示該值是否為的成員。清除所有成員,沒有返回值。上面代碼中,方法返回的遍歷器,同時(shí)包括鍵名和鍵值,所以每次輸出一個(gè)數(shù)組,它的兩個(gè)成員完全相等。因此,適合臨時(shí)存放一組對象,以及存放跟對象綁定的信息。 Js大部分歷史時(shí)期都只存在一種集合類型,也就是數(shù)組類型。數(shù)組在 JS 中的使用正如其他語言的數(shù)組一樣,但缺少更多類型的集合導(dǎo)致數(shù)組也經(jīng)常被當(dāng)作隊(duì)列與棧來使用。數(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ù)可以接受一個(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 的鍵...
閱讀 3206·2021-09-22 15:05
閱讀 2763·2019-08-30 15:56
閱讀 1071·2019-08-29 17:09
閱讀 803·2019-08-29 15:12
閱讀 2084·2019-08-26 11:55
閱讀 3070·2019-08-26 11:52
閱讀 3381·2019-08-26 10:29
閱讀 1385·2019-08-23 17:19