如何理解 Javascript 中的 For 循环?
Contents
Javascript 里的 For 循环有很多种,接下来我们一一来解析一遍。
For Loop
这是最基础的用法,用 For loop 来遍历一个数组,如下所示:1
2
3for (var index = 0; index < myArray.length; index++) {
console.log(myArray[index]);
}
forEach - ES 5
forEach 是 ES 5 里的一个用法,如下所示:1
2
3myArray.forEach(function (value) {
console.log(value);
});
for…in - ES 5
for...in
循环实际是为循环可枚举 (enumerable) 对象而设计的,如下所示:1
2
3
4
5
6
7
8
9
10var obj = {a:1, b:2, c:3};
for (var prop in obj) {
console.log("obj." + prop + " = " + obj[prop]);
}
// 输出:
// "obj.a = 1"
// "obj.b = 2"
// "obj.c = 3"
for…of - ES 6
for ... of
是 ES 6 里的新用法,语法如下:1
2
3for (var value of myArray) {
console.log(value);
}
for...of
的语法看起来跟 for...in
很相似,但它的功能却丰富的多,它能循环很多东西。
循环一个数组 Array
1 | let iterable = [10, 20, 30]; |
循环一个字符串 String
1 | let iterable = "boo"; |
循环一个类型化的数组 TypedArray
1 | let iterable = new Uint8Array([0x00, 0xff]); |
循环一个 Map
1 | let iterable = new Map([["a", 1], ["b", 2], ["c", 3]]); |
循环一个 Set
1 | let iterable = new Set([1, 1, 2, 2, 3, 3]); |
循环一个 DOM 集合
1 | // Note: This will only work in platforms that have |
循环一个生成器 Generators
1 | function* fibonacci() { // a generator function |
Reference
This is the end of post