https://www.jianshu.com/p/ca50b6d0af9b
https://developer.mozilla.org/zh-CN/docs/Glossary/立即执行函数表达式
https://www.cnblogs.com/TomXu/archive/2011/12/29/2290308.html
将 IIFE 分配给一个变量,不是存储 IIFE 本身,而是存储 IIFE 执行后返回的结果。
1 | const result = (function () { |
常见的写法,当然了还有其它各种各样的写法。
1 | <script> |
作用域 & 提升
https://segmentfault.com/a/1190000000348228
Javascript 没有块级作用域,只有函数作用域,所以不是遇到一对花括号就代表产生新的作用域。比如遇到 if 时,解析器会将声明提升至当前作用域的顶部(这是默认行为,并且无法改变),这个行为就叫 Hoisting。