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
为什么第一个立即执行函数里面输出的是个函数
8 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.7k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
找到答案了!https://segmentfault.com/q/10...