什么网站可以做软件有哪些内容吗,济宁住房和城乡建设厅网站,贵州建设项目门户网站,做网站需要用到那些软件前端面试题库 #xff08;面试必备#xff09; 推荐#xff1a;★★★★★
地址#xff1a;前端面试题库
【国庆头像】- 国庆爱国 程序员头像#xff01;总有一款适合你#xff01;
如果面试官#xff0c;或者有人问你foreach怎么跳出循环#xff0c;请你…前端面试题库 面试必备 推荐★★★★★
地址前端面试题库
【国庆头像】- 国庆爱国 程序员头像总有一款适合你
如果面试官或者有人问你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的大体实现既然都知道了它的实现那么对它为什么跳不出循环♻️应该都知道了再不清楚的话再看一下下面的例子。 function demo(){return demo
}function demo2(){demo()return demo2
}demo()
在demo2函数里面调用demo函数demo函数的return能阻止demo2函数下面的执行吗很明显不行啊demo函数里的return跟demo2函数一点关系都没有。现在你再回头看看foreach的实现就明白它跳不出循环一清二楚了。
有点同学说不是可以通过抛出错误跳出循环吗是的。看看下面例子。 let list [1,2,3,4,5]try {list.forEach((item, index, list) {if (index 2) {throw new Error(demo)}console.log(item)})
} catch (e) {// console.log(e)
} 结果是我们想要但是你看代码哪个正常人会这样写代码是非foreach不用吗还是其他的循环关键字不配呢。
end
有反驳在评论区show me your code !!!!!!!!! 前端面试题库 面试必备 推荐★★★★★
地址前端面试题库
【国庆头像】- 国庆爱国 程序员头像总有一款适合你