var g = 10;(function g(){g = 20;console.log(g);})();console.log(g)
浏览器输出是:
ƒ g(){g = 20;console.log(g);}
10
但是如果改成这样
var h = 10;(function h(){var h = 20;console.log(h);})();console.log(h)
浏览器输出:
20
10
为什么第一个立即执行函数里面输出的是个函数
var g = 10;(function g(){g = 20;console.log(g);})();console.log(g)
浏览器输出是:
ƒ g(){g = 20;console.log(g);}
10
但是如果改成这样
var h = 10;(function h(){var h = 20;console.log(h);})();console.log(h)
浏览器输出:
20
10
为什么第一个立即执行函数里面输出的是个函数
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答857 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
找到答案了!https://segmentfault.com/q/10...