我发现他们都可以执行,但不知道有什么区别?
走同样的路,发现不同的人生
在此http://www.zhihu.com/question/20292224
没区别。这两个都是先声明匿名函数,然后立即执行。 其实原型是这样的function(){}()。但是这样是无法执行的。因为根据ECMA262标准function开头的语句Function Definition,此时的函数不能为匿名必须有名字。所以要声明匿名函数并立即执行,只需要保证语句不适宜function开头即可。
用法如: (function(){}()) (function(){})() !function(){}() +function(){}() -function(){}()
没区别哒。可以立即执行函数,并模拟块级作用域。
在此
http://www.zhihu.com/question/20292224
没区别。这两个都是先声明匿名函数,然后立即执行。
其实原型是这样的function(){}()。但是这样是无法执行的。因为根据ECMA262标准function开头的语句Function Definition,此时的函数不能为匿名必须有名字。所以要声明匿名函数并立即执行,只需要保证语句不适宜function开头即可。
用法如:
(function(){}())
(function(){})()
!function(){}()
+function(){}()
-function(){}()
没区别哒。可以立即执行函数,并模拟块级作用域。