JS之for...in和for...of
for...in輸入鍵;
for...in
循環有幾個缺點。
- 數組的鍵名是數字,但是
循環是以字元串作為鍵名“0”、“1”、“2”等等。for...in
-
循環不僅周遊數字鍵名,還會周遊手動添加的其他鍵,甚至包括原型鍊上的鍵。for...in
- 某些情況下,
循環會以任意順序周遊鍵名。for...in
總之,
for...in
循環主要是為周遊對象而設計的,不适用于周遊數組。
for...of輸出值;
for...of
循環相比上面幾種做法,有一些顯著的優點。
- 有着同
一樣的簡潔文法,但是沒有for...in
那些缺點。for...in
- 不同于
方法,它可以與forEach
、break
和continue
配合使用。return
- 提供了周遊所有資料結構的統一操作接口。
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
}