不同的循环方式
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,不支持中断