国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript中利用for循環遍歷數組

2019-11-19 17:55:50
字體:
來源:轉載
供稿:網友

先看一段代碼

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body>  <script>  // 一個普通的數組    var arr =[3,5,2,6];  // 普通的for 循環遍歷  for(var i = 0 ; i < arr.length; i++){   console.log(i,"類型:"+typeof i,arr[i]);  }  // 用for in 遍歷數組  for(var k in arr){   console.log(k,"類型:"+typeof k,arr[k]);  } </script></body></html>

這段代碼顯示出了 一點 for循環遍歷數組 和for in 循環遍歷 數組的一點區別:

標準的for循環中的i是number類型,表示的是數組的下標,但是foreach循環中的i表示的是數組的key是string類型。

這還不是坑,只是一點區別。

再看一段代碼

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body>  <script>  // 一個普通的數組    var arr =[3,5,2,6];  // 在數組原型上擴展一個方法  Array.prototype.extend = function(){   console.log("在數組原型擴展一個方法");  }  // 普通的for 循環遍歷  for(var i = 0 ; i < arr.length; i++){   console.log(i,"類型:"+typeof i,arr[i]);  }  // 用for in 遍歷數組  for(var k in arr){   console.log(k,"類型:"+typeof k,arr[k]);  } </script></body></html>

這段代碼就是在上邊的代碼的基礎上,為Array做了一下擴充。很簡單,只是添加了一個函數。但是我們來看運行會出現了什么情況:

輸出的結果中,多出了一行,這一行就是我們擴展的一個函數,不是我們定義在數組中的值。到此這個問題就出來了。

綜上所述,用for...in...在通常情況下確實可以正確運行。

但是如果我們在項目采用的是用foreach遍歷數組,假設有一天誰不小心自己為了擴展js原生的Array類,或者引入一個外部的js框架也擴展了原生Array。那問題就來了。

 所以最好還是用for循環遍歷數組

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 防城港市| 南皮县| 北海市| 高密市| 叙永县| 合江县| 开远市| 马关县| 长寿区| 宝坻区| 金华市| 寻乌县| 富锦市| 高安市| 湖州市| 绥芬河市| 灵璧县| 靖宇县| 司法| 新乡市| 岢岚县| 内江市| 星座| 宁安市| 祁阳县| 桐梓县| 阿勒泰市| 江华| 丰都县| 雷波县| 洪湖市| 醴陵市| 高州市| 枣阳市| 威宁| 天全县| 共和县| 张家港市| 渝中区| 黎川县| 彭山县|