詳解Js里的for…in和for…of的用法

之前看編程方法學,for循環(huán)的基本格式是

目前創(chuàng)新互聯(lián)已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、雞澤網(wǎng)站維護等服務(wù),公司將堅持客戶導向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

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,當它遍歷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ù)組實際上也是一個對象,它的每個元素的索引被視為一個屬性。
當我們手動給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)則完全修復了這些問題,它只循環(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的用法詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對創(chuàng)新互聯(lián)網(wǎng)站的支持!

本文名稱:詳解Js里的for…in和for…of的用法
網(wǎng)頁地址:http://bm7419.com/article20/igcijo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄虛擬主機、外貿(mào)建站、商城網(wǎng)站企業(yè)建站、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)