我尝试时编译器向我提出错误:
['a', 'b', 'c'].forEach(function (x) { if (x == 'b') { break //error message: Can't have 'break' outside of loop } })
有效语法:
var x = ['a', 'b', 'c']; for (var i = 0; i < x.length; i++) { if (x[i] == 'b') { break } }
所以为什么?
该forEach
可能会导致您认为您是一个上下文内for
循环,但这种情况并非如此.
它只是为数组中的每个元素执行的方法.因此,在函数内部,您只能控制当前迭代,但不能取消或取消其他数组元素的方法订阅.