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 不就阻断代码了吗...

推荐问题