猿问

学习 javaScript break 语句并坚持理解为什么迭代行为怪异

学习break语句。我从正在学习的书中获得以下代码:


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”从何而来?


吃鸡游戏
浏览 78回答 2
2回答

婷婷同学_

这很简单。在第二行,您在中断第二次迭代之前记录 x 的值。

慕森卡

它仍然打印'b',因为在评估条件console.log(x)之前执行。if一旦if声明为真,它就会跳出for循环并结束!
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答