當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
javascript总for of和for in的区别?
生活随笔
收集整理的這篇文章主要介紹了
javascript总for of和for in的区别?
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
for in是ES5標(biāo)準(zhǔn),for of是ES6標(biāo)準(zhǔn);
for in是遍歷對(duì)象屬性,for of是遍歷對(duì)象元素。
for of兼容性還不夠,移動(dòng)端安卓微信瀏覽器貌似不支持,蘋(píng)果的可以;web端IE支持也不夠,chrome可以。
?
先說(shuō)結(jié)論:
推薦在循環(huán)對(duì)象屬性的時(shí)候,使用for...in,在遍歷數(shù)組的時(shí)候的時(shí)候使用for...of。
for...in循環(huán)出的是key,for...of循環(huán)出的是value
注意,for...of是ES6新引入的特性。修復(fù)了ES5引入的for...in的不足
for...of不能循環(huán)普通的對(duì)象,需要通過(guò)和Object.keys()搭配使用
console.log(student[key]); //輸出的是屬性值
}//name age locate var student={name:'wujunchuan',age:22,locate:{country:'china',city:'xiamen',school:'XMUT'} } for(let key of Object.keys(student)){console.log(key); //使用Object.keys()方法獲取對(duì)象key的數(shù)組
console.log(student[key]) ;//輸出的是屬性值
} var arr= ['a','b','c'] for(let key in arr){console.log(key);//輸出的是 鍵名 0 1 2console.log(arr[key]);//輸出的是 鍵值 a b c } var arr= ['a','b','c','d','e'] for(let value of arr){console.log(value);//輸出的是 鍵值 a b c d e } var arr= ['a','b','c','d','e'] for(let key of arr.keys()){console.log(key);//輸出的是鍵名 0 1 2 3 4 } var arr= ['a','b'] for(let case of arr.entries()){console.log(case);//輸出的是鍵值對(duì) [0,'a'] [1,'b'] }
?
轉(zhuǎn)載于:https://www.cnblogs.com/jkr666666/p/8033714.html
總結(jié)
以上是生活随笔為你收集整理的javascript总for of和for in的区别?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【转】LDA数学八卦
- 下一篇: java8 按条件过滤集合