4 个回答

其实是每次都 return 的,只是没有变量接收这个 return 的结果。

而最后一次是因为 chrome 命令行默认最后会打印一次返回的结果,所以就打印了。

for (var i = 0; i < 10; i++) {
  var val = (function() { 
    console.log(i)
    return 'wsws'
  })()
  console.log(val)
}

你这个打印怎么出来的?return并不会打印啊老铁.
所以你看到的欺骗你了.

for(var i=0;i<10;i++){
    console.log((function(){
        console.log(i);
        return "abvdef";
       })());
}

我说的是,return不会打印啊老哥。。。剩下的2楼大佬说了

因为 return 不就阻断代码了吗...

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