JS 的立即执行函数是什么?
概念题,「是什么、怎么做、解决了什么问题、优点是、缺点是、怎么解决缺点」
是什么:
声明一个匿名函数,然后立即执行它。这种做法就是立即执行函数。
怎么做:
(function(){alert('我是匿名函数')} ()) // 用括号把整个表达式包起来
(function(){alert('我是匿名函数')}) () // 用括号把函数包起来
!function(){alert('我是匿名函数')}() // 求反,我们不在意值是多少,只想通过语法检查。
+function(){alert('我是匿名函数')}()
-function(){alert('我是匿名函数')}()
~function(){alert('我是匿名函数')}()
void function(){alert('我是匿名函数')}()
new function(){alert('我是匿名函数')}()
var x = function(){return '我是匿名函数'}()上面每一行代码都是一个立即执行函数。(举例法)
解决了什么问题:
在 ES6 之前,只能通过它来「创建局部作用域」。
优点:
兼容性好。
缺点:
丑。为什么这么丑?看视频分析。
怎么解决缺点:
使用 ES6 的 block + let 语法,即
Last updated