for in 和 for of迴圈的區別

2022-09-01 01:48:09 字數 378 閱讀 4632

for..in 的遍歷實際上是物件的屬性名稱,乙個array陣列也是乙個物件,陣列的每個元素的索引被視為屬性名稱,所以可以看到使用for...in 迴圈array陣列,拿到的其實是每個元素的索引

var a = [ 'a' , 'b', 'c' ];

a.name = ' hello ' ;

for (var  i   in  a ){

alert ( i )        //   '0' , '1' , '2' , 'name'

當為a手動新增乙個屬性name的時候,for...in迴圈會把name屬性也包括在內,而array的length屬性卻不包括在內,for...of迴圈的是可迭代物件的value

for...of 它只是迴圈集合本身的元素

for in迴圈和for of迴圈區別

for in語句用於遍歷物件,而for of語句用於遍歷陣列,但這不是必須的,只是這樣操作比較方便。var arr 1,2,3,4,5,6,7 申明乙個陣列 for var x in arr 執行結果 var arr 1,2,3,4,5,6,7 宣告乙個純數字陣列 for var value of ...

for of迴圈與for in迴圈的區別

const arr red green blue arr.foreach function element,index var arr a b c d for let a in arr for let a of arr let arr 3 5,7 arr.foo hello for let i in...

for in 和 for of 的對比

fon in和for of最大的區別就是 乙個是對鍵名key的遍歷,乙個是對鍵值value的遍歷 使用for in也能遍歷陣列,但會存在一些問題 index索引為字串型數字,不能直接進行幾何運算 和遍歷順序物件的行為一樣,使用for in會遍歷陣列所有可列舉的屬性,所以原型物件上的方法和屬性也會被遍...