$('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忽略下面的代码,然后继续下一个元素

答案

来自Mozilla开发人员网络

没有办法停止或打破forEach()循环除了抛出例外。如果您需要这种行为,forEach()方法是错误的工具。

可以通过以下方式完成早期终止:

其他数组方法:every(),,,,some(),,,,find(), 和findIndex()用谓词返回真实值,以确定是否需要进一步迭代,以测试数组元素。

来自: stackoverflow.com