了解中断声明。我从正在学习的书中获得以下代码:
for (const x of ['a', 'b', 'c']) {
console.log(x);
if (x === 'b') break;
console.log('---')
}
// Output:
// 'a'
// '---'
// 'b'
为什么'b'仍然打印?英文代码打印['a','b','c']的每个元素x,如果元素x等于b,则停止!然后打印'---'。如果我要求停止迭代,“ b”从何而来?
它仍然打印'b',因为在评估console.log(x)
条件之前执行了if
。一旦if
语句为真,它将退出for
循环并结束!
这很简单。在第二行中,您正在记录x BEFORE的值,这是在中断第二次迭代。