理解 forEach 函數中 return 的行為
在 JavaScript 中,對於 forEach 函數中 return 關鍵字的行為通常存在誤解。本文旨在闡明其預期用法。
請考慮以下程式碼片段:
$('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); }); });
在此程式碼中,在 forEach 迴圈中使用 return 語句來提前停止迭代。但是,程式碼仍然繼續警告數組中的後續元素。為什麼會發生這種情況?
forEach 中return 的真實本質
與流行的看法相反,forEach 函數中的return 語句與forEach 中的return 語句具有不同的意義循環結構如for或while。在 forEach 中,return 並不表示提前終止迴圈。
Mozilla 開發者網路說明
根據Mozilla 開發者網路官方文件:
「除了拋出異常之外,沒有其他方法可以停止或中斷forEach() 迴圈。方法是錯誤的工具。 🎜>
簡單循環: 建立傳統的for 或while循環,並具有提前終止的顯式條件。
for...of 迴圈:
利用 for...of 迴圈,它提供立即執行使用break語句終止功能。以上是為什麼 `return` 不會打破 JavaScript 中的 `forEach` 迴圈?的詳細內容。更多資訊請關注PHP中文網其他相關文章!