return只结束被调用的方法:在多层嵌套中的return,它只会向上结束一层嵌套。
(function(){
if(true){return 222}
return 111;
}
)()//执行结果是222
引自MDN手册:
foreach不能被return结束:
注意: 除了抛出异常以外,没有办法中止或跳出 forEach() 循环。
如果你需要中止或跳出循环,forEach()
方法不是应当使用的工具。若你需要提前终止循环,你可以使用:
一个简单的 for 循环
for…of / for…in 循环
Array.prototype.every()
Array.prototype.some() Array.prototype.find()
Array.prototype.findIndex()