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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js中的for in循环

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

原型添加屬性之后,默認情況下枚舉,最后輸出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('')); }

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

解決方法:

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

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('')); }

?呃呃呃,最近發現for of功能,突然發現以前有點low

for of遍歷的只是數組內的元素,而不包括數組的原型屬性method和索引name

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

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。