【发布时间】:2020-05-26 21:18:29
【问题描述】:
$('button').click(function () {
[1, 2, 3, 4, 5].forEach(function (n) {
if (n == 3) {
// it should break out here and doesn't alert anything after
return false
}
alert(n)
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Click me</button>
我的问题:为什么尽管我拨打return,它仍然会提示下一个号码?就像:忽略下面的代码并继续下一个元素
【问题讨论】:
-
$('button').click(function(){})呢? -
你可以使用
if(n>=3){ return false打破它 -
return不会中断循环,break会! -
有趣的是,如果您更改第 2 行并首先将数组分配给变量,例如:
var r = [1, 2, 3, 4, 5]; r.forEach(function (n) {,则示例的行为会大不相同。在这种情况下,它将跳出循环。
标签: javascript arrays