JavaScript原生forEach与jQuery each中return false的行为差异
本文对比了原生JavaScript的forEach方法与jQuery的each方法在遍历数组时使用return false的不同行为。jQuery的each中return false相当于break,直接终止整个循环;而原生forEach中return false仅相当于continue,跳过当前迭代并继续后续遍历。
forEach与each中return false的行为差异
原生JavaScript的forEach方法与jQuery的each方法在遍历数组时,对return false的处理机制存在显著差异。
首先来看jQuery的each()方法。假设有一个数组a,代码如下:
var a=[20,21,22,23,24];
$.each(a, function(index,val) {
console.log('index='+index);
if(index==2){
return false;
}
console.log('val='+val);
});
执行结果如下:

从运行效果可以看出,在jQuery的each()中,return false的作用相当于循环中的break语句,它会直接结束整个循环过程。
接着看原生JavaScript的forEach()方法。同样遍历数组a,代码如下:
var a=[20,21,22,23,24];
a.forEach(function(val,index){
console.log('index='+index);
if(index==2){
return false;
}
console.log('val='+val);
});
执行结果如下:

从运行效果可以看出,在原生forEach()中,return false的作用相当于循环中的continue语句。它仅跳出当前这一次迭代,后续的循环遍历仍会继续执行。
经过查阅相关资料,若需在使用forEach()时实现类似break的效果,可以通过自行编写判断语句来控制,或者改用传统的for()循环进行遍历。
JS读取本地文件时报错或无响应的常见原因
2026-11-05 16:32:31
let、const与var的区别:JavaScript变量声明最佳实践
2026-11-05 14:16:38
JS中直接定义静态二维数组的字面量写法
2026-11-05 14:16:08
JS 怎么查找字符串中所有匹配项的位置
2026-11-05 14:15:53
JavaScript新手常犯的编码错误与最佳实践指南
2026-11-04 22:12:38
