JavaScript原生forEach与jQuery each中return false的行为差异

作者:青柠

时间:2026-10-30

浏览:67

本文对比了原生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);
}); 

执行结果如下:

forEach与each中return false的行为差异

从运行效果可以看出,在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与each中return false的行为差异

从运行效果可以看出,在原生forEach()中,return false的作用相当于循环中的continue语句。它仅跳出当前这一次迭代,后续的循环遍历仍会继续执行。

经过查阅相关资料,若需在使用forEach()时实现类似break的效果,可以通过自行编写判断语句来控制,或者改用传统的for()循环进行遍历。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章