`forEach`函數中的`return`關鍵字有何意義?
P粉964682904
P粉964682904 2023-08-21 17:58:20
0
2
575
<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>
P粉964682904
P粉964682904

全部回覆(2)
P粉245003607

返回語句return會退出目前函數,但迴圈會繼續進行,所以你會得到「下一個」跳過if語句並彈出4的項...

如果你需要停止循環,你應該使用普通的for循環,如下:

$('button').click(function () {
   var arr = [1, 2, 3, 4, 5];
   for(var i = 0; i < arr.length; i++) {
     var n = arr[i]; 
     if (n == 3) {
         break;
      }
      alert(n);
   })
})

你可以在這裡閱讀更多關於js中的break和continue:http://www.w3schools.com/js/js_break.asp##

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板