詳解Js里的for…in和for…of的用法
之前看編程方法學(xué),for循環(huán)的基本格式是
for(init;test;step ){ statement } //例如 for(int i=0,i<10;i++){ ... }
后來接觸了python,for循環(huán)的格式更加的簡單優(yōu)雅,只要一個for ……in語句就可以直接遍歷對象。
for i in arry
今天看廖雪峰的官網(wǎng),居然看到了js里更神奇的操作,for ……of循環(huán),這個類似于python的for ……in循環(huán)了,雖然js里也有for ……in循環(huán),可是遍歷的是對象的屬性,類似于鍵值對里的鍵key,當(dāng)它遍歷array的時候遍歷的是array的索引,
var a = ['A', 'B', 'C']; for (var i in a) { alert(i); // '0', '1', '2' alert(a[i]); // 'A', 'B', 'C' }
or … of循環(huán)是ES6引入的新的語法,用for … of循環(huán)遍歷集合,用法如下:
var a = ['A', 'B', 'C']; var s = new Set(['A', 'B', 'C']); var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]); for (var x of a) { // 遍歷Array alert(x);//'A', 'B', 'C' } for (var x of s) { // 遍歷Set alert(x);//'A', 'B', 'C' } for (var x of m) { // 遍歷Map alert(x[0] + '=' + x[1]);//1='x',2='y',3='z' }
for … in循環(huán)由于歷史遺留問題,它遍歷的實際上是對象的屬性名稱。一個Array數(shù)組實際上也是一個對象,它的每個元素的索引被視為一個屬性。
當(dāng)我們手動給Array對象添加了額外的屬性后,for … in循環(huán)將帶來意想不到的意外效果:
var a = ['A', 'B', 'C']; a.name = 'Hello'; for (var x in a) { alert(x); // '0', '1', '2', 'name' }
for … in循環(huán)將把name包括在內(nèi),但Array的length屬性卻不包括在內(nèi)。
for … of循環(huán)則完全修復(fù)了這些問題,它只循環(huán)集合本身的元素:
var a = ['A', 'B', 'C']; a.name = 'Hello'; for (var x of a) { alert(x); // 'A', 'B', 'C' }
以上所述是小編給大家介紹的Js里的for…in和for…of的用法詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- 全面解析JavaScript里的循環(huán)方法之forEach,for-in,for-of
- js遍歷詳解(forEach, map, for, for...in, for...of)
- js中forEach,for in,for of循環(huán)的用法示例小結(jié)
- js中for-in和for-of的區(qū)別詳解
- JavaScript 中for/of,for/in 的詳細(xì)介紹
- JS中for...in?和?for...of?的區(qū)別解析
- JavaScript中for-in和for-of的不同之處及如何正確使用
- JS中for,for...in,for...of和forEach的區(qū)別和用法實例
- JavaScript中for of和for in的區(qū)別詳解
- JavaScript中for in和for of的區(qū)別示例詳解
相關(guān)文章
Shell腳本實現(xiàn)Linux系統(tǒng)和進(jìn)程資源監(jiān)控
這篇文章主要介紹了Shell腳本實現(xiàn)Linux系統(tǒng)和進(jìn)程資源監(jiān)控,本文講解了檢查進(jìn)程是否存在、檢測進(jìn)程 CPU 利用率、檢測進(jìn)程內(nèi)存使用量、檢測進(jìn)程句柄使用量、,需要的朋友可以參考下2015-03-03解決 firefox 不支持 document.all的方法
解決 firefox 不支持 document.all的方法...2007-03-03javascript類型系統(tǒng)——undefined和null全面了解
下面小編就為大家?guī)硪黄猨avascript類型系統(tǒng)——undefined和null全面了解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07javascript、php關(guān)鍵字搜索函數(shù)的使用方法
這篇文章主要介紹了javascript、php關(guān)鍵字搜索函數(shù)的使用方法的相關(guān)資料,需要的朋友可以參考下2018-05-05JavaScript中setFullYear()方法的使用詳解
這篇文章主要介紹了JavaScript中setFullYear()方法的使用詳解,是JS入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-06-06