不同的循环方式

for语句

支持中断,支持异步

let str = '';
for (let i = 0; i < 9; i++) {
    str = str + i;
}
console.log(str);   //'012345678'

中断示例

var i = 0;

for (var i = 0; ; i++) {
    if (i > 3) break;
    console.log(i);
}

for in

以任意顺序遍历一个对象

var obj = {
    a: 1,
    b: 2
}
for (let p in obj) {
    console.log(`${p}----${obj[p]}`)
}
//'a----1'
//'b----2'

支持中断

var obj = {
    a: 1,
    b: 2,
    c: 3
}
for (let p in obj) {
    if (p === 'b') {
        console.log(`${p}----${obj[p]}`)
        break
    }
}
//'b----2'

for of

const arr = [1, 2, 3]
for (const i of arr) {
    console.log(i)
}

支持中断

const arr = [1, 2, 3]
for (const i of arr) {
    if (i === 2) {
        break
    }
    console.log(i)
}

数组方法

如forEach/map/reduce,不支持中断

原文地址:https://www.cnblogs.com/lianglanlan/p/14429964.html