`forEach`函数中的`return`关键字有何含义?
P粉964682904
2023-08-21 17:58:20
<p><br /></p>
<pre class="brush:js;toolbar:false;">$('button').click(function () {
[1, 2, 3, 4, 5].forEach(function (n) {
if (n == 3) {
// 在这里应该中断并且不会弹出任何内容
return false
}
alert(n)
})
})</pre>
<pre class="brush:html;toolbar:false;"><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>点击我</button></pre>
<p><br /></p>
<p>我的问题是:为什么即使我调用了<code>return</code>,它仍然会弹出下一个数字?就像:<em>忽略下面的代码并继续下一个元素</em></p>
返回语句
return
会退出当前函数,但循环会继续进行,所以你会得到“下一个”跳过if
语句并弹出4的项...如果你需要停止循环,你应该使用一个普通的
for
循环,如下所示:你可以在这里阅读更多关于js中的break和continue:http://www.w3schools.com/js/js_break.asp
来自Mozilla开发者网络: