天天看點

JS之for...in和for...ofJS之for...in和for...of

JS之for...in和for...of

for...in輸入鍵;

for...in

循環有幾個缺點。

  • 數組的鍵名是數字,但是

    for...in

    循環是以字元串作為鍵名“0”、“1”、“2”等等。
  • for...in

    循環不僅周遊數字鍵名,還會周遊手動添加的其他鍵,甚至包括原型鍊上的鍵。
  • 某些情況下,

    for...in

    循環會以任意順序周遊鍵名。

總之,

for...in

循環主要是為周遊對象而設計的,不适用于周遊數組。

for...of輸出值;

for...of

循環相比上面幾種做法,有一些顯著的優點。

  • 有着同

    for...in

    一樣的簡潔文法,但是沒有

    for...in

    那些缺點。
  • 不同于

    forEach

    方法,它可以與

    break

    continue

    return

    配合使用。
  • 提供了周遊所有資料結構的統一操作接口。
JS之for...in和for...ofJS之for...in和for...of
var arr = ['a', 'b', 'c', 'd'];

for (let a in arr) {
    console.log(a); // 0 1 2 3
    console.log(arr[a]);// a b c d
}

for (let b of arr) {
    console.log(b); // a b c d
}      

繼續閱讀