日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js中的for in循环

發(fā)布時間:2023/12/31 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js中的for in循环 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原型添加屬性之后,默認(rèn)情況下枚舉,最后輸出1234513

function getNewArrayTwo(){ var array=[1,2,3,4,5 ]; Array.prototype.age=13; var result=[]; for(var i in array){ result.push(array[i]); } alert(result.join('')); }

所以建議不要對數(shù)組執(zhí)行for?in循環(huán),事實(shí)上,在高性能javascript這本書中,也強(qiáng)調(diào)了for?in循環(huán)的不好,因為它總是會訪問該對象的原型,看下原型上是否有屬性,這在無意中就給遍歷增加了額外的壓力。

解決方法:

如果某個對象具有給定名稱的屬性,那么Object.prototype.hasOwnProperty(name)返回true。如果該對象是從原型鏈中繼承了該屬性,或者根本沒有這樣的一個屬性,則返回false。通過hasOwnProperty限定for?in循環(huán)在當(dāng)前中遍歷,而不用去考慮它的原型屬性。

function finalArray(){ var array=[1,2,3,4,5 ]; Array.prototype.age=13; var result=[]; for(var i in array){ if(array.hasOwnProperty(i)){ result.push(array[i]); } } alert(result.join('')); }

?呃呃呃,最近發(fā)現(xiàn)for of功能,突然發(fā)現(xiàn)以前有點(diǎn)low

for of遍歷的只是數(shù)組內(nèi)的元素,而不包括數(shù)組的原型屬性method和索引name

遍歷對象 通常用for in來遍歷對象的鍵名,對于數(shù)組我建議用for of

var myArray=[1,2,4,5,6,7] myArray.name="數(shù)組"; for (var value of myArray) {console.log(value); }

總結(jié)

以上是生活随笔為你收集整理的js中的for in循环的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。