JavaScript中的for...of


本文作者: jsweibo

本文链接: https://jsweibo.github.io/2020/03/05/JavaScript%E4%B8%AD%E7%9A%84for-of/

摘要

本文主要讲述了:

  1. 作用
  2. 备注

正文

作用

迭代指定可迭代对象(例如:字符串、数组、实现了Symbol.iterator的类数组对象)的属性值。

示例:

1
2
3
4
5
var foo = 'hello, world';
for (const char of foo) {
// 依次输出字符串中的每一个字符
console.log(char);
}

示例:按照数组中索引的大小,从小到大地迭代

1
2
3
4
5
6
var foo = [2, 3, 4, 5];
foo.unshift(1);
for (const value of foo) {
// 依次输出:1 2 3 4 5
console.log(value);
}

示例:

1
2
3
4
5
6
7
8
9
10
var foo = [2, 3, 4, 5];
foo[5] = 6;
foo['jsweibo'] = 7;
console.log(Object.getOwnPropertyDescriptors(foo));
for (const value of foo) {
// 索引为4的值为undefined
// 索引为5的值会被迭代
// 索引为jsweibo的值并不会被迭代
console.log(value);
}

备注

对象

默认情况下,对象是不可被迭代的。

示例:

1
2
3
4
5
6
7
8
9
var foo = {
firstName: 'foo',
lastName: 'bar',
};

// 报错
for (const value of foo) {
console.log(value);
}

参考资料

本文作者: jsweibo

本文链接: https://jsweibo.github.io/2020/03/05/JavaScript%E4%B8%AD%E7%9A%84for-of/


本文对你有帮助?请支持我


支付宝
微信