下次如果再有人问你 foreach 怎么跳出循环,请你大声的告诉 ta,跳不出!!!!!!!!!!
foreach 跳不出循环
为什么呢?
先看看 foreach 大体实现。
Array.prototype.customForEach = function (fn) { for (let i = 0; i < this.length; i++) { fn.call(this, this[i], i, this) } } list.customForEach((item, i, list) => { console.log(item, i, list) }) let list = [1,2,3,4,5] list.forEach((item,index,list)=>{ console.log(item,index,list) }) list.customForEach((item,index,list)=>{ console.log(item,index,list) })
结果是我们想要,但是你看代码,哪个正常人会这样写代码?是非 foreach 不用吗?还是其他的循环关键字不配呢。