理解 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() 循环。如果如果您需要这样的行为,forEach() 方法是错误的工具。”
替代方法
如果您的目标是有条件地停止循环的迭代,还有其他方法可用:
以上是为什么 `return` 不会打破 JavaScript 中的 `forEach` 循环?的详细内容。更多信息请关注PHP中文网其他相关文章!