91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳談js中標準for循環與foreach(for in)的區別

發布時間:2020-08-29 21:43:07 來源:腳本之家 閱讀:315 作者:jingxian 欄目:web開發

js中遍歷數組的有兩種方式

var array=['a']
//標準的for循環
for(var i=1;i<array.length;i++){
  alert(array[i])
}
//foreach循環
for(var i in array){
  alert(array[i])
}

正常情況下上面兩種遍歷數組的方式結果一樣。首先說兩者的第一個區別

標準的for循環中的i是number類型,表示的是數組的下標,但是foreach循環中的i表示的是數組的key是string類型,因為js中一切皆為對象。自己試試 alert(typeof i);這個區別是小問題。現在我加上如下代碼,上面的執行結果就不一樣了。

//擴展了js原生的Array
Array.prototype.test=function()

}

試試看上面的代碼執行什么。我們發現標準的for循環任然真正的對數組循環, 但是此時foreach循環對我剛才寫的test方法寫打印出來了。這就是for與foreach遍歷數組的最大區別,如果我們在項目采用的是用foreach遍歷數組,假設有一天誰不小心自己為了擴展js原生的Array類,或者引入一個外部的js框架也擴展了原生Array。那問題就來了。再此建議兩點

不要用for in遍歷數組,全部統一采用標準的for循環變量數組( 我們無法保證我們引入的js是否會采用prototype擴展原生的Array )

如果要對js的原生類擴展的時候,不要采用prototype了

以上這篇詳談js中標準for循環與foreach(for in)的區別就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜兴市| 即墨市| 二连浩特市| 乐业县| 兰西县| 武隆县| 德钦县| 梁河县| 许昌市| 偏关县| 彩票| 荆州市| 内丘县| 安宁市| 河曲县| 鲁山县| 凤凰县| 铅山县| 宁海县| 甘孜| 彭水| 达孜县| 古丈县| 鄂尔多斯市| 蛟河市| 藁城市| 花垣县| 通州市| 正安县| 霍林郭勒市| 临洮县| 萍乡市| 新巴尔虎左旗| 南昌市| 阿坝县| 河北区| 英德市| 华池县| 海伦市| 浮山县| 平乡县|