为什么return不能退出当前函数?

当执行return的时候 下面那个4为什么还能输出 不是应该退出函数吗?
clipboard.png

阅读 12.2k
6 个回答

其实是退出了的,但是退出的forEach参数的那个函数。

forEach的参数本身就是传递一个函数,所以return是这个函数内的语句,并不会退出外层的completeStorage

this.operationStorage前面加个return即可。

foreach 你循环多少次就等于跑了多少遍函数,这个return 是返回的当前执行的那一次的函数

forEach是无法return 终止的。 手动抛出一个错误 throw Error 可以终止

for (let i = 0; i < item.list.length; i += 1) {
  if (xxx) {
    return
  }
}

使用

array.forEach(function foobar() {
  return
})

这个 return 是只对 foobar 有效的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏