我在几个库中看到了这种语法,我想知道它的好处是什么。(请注意,我非常清楚闭包和代码的作用,我只关心语法上的区别)
!function(){
// do stuff
}();
作为更常见的替代方案之一
(function(){
// do stuff
})();
关于自调用匿名函数,我有一些疑问。首先,是什么让顶部的例子实际上能够工作?为什么感叹号是必要的,才能使这个语句在语法上正确?我被告知+
也可以在!
的位置使用,还有其他什么东西吗?
其次,有什么好处?我唯一能看出来的就是它节省了一个字符,但我无法想象这样的好处足以吸引众多用户。是否还有其他好处我没有注意到?
我只能发现另一个区别是自调用函数的返回值,但在这两个示例中,我们并不真正关心函数的返回值,因为它仅用于创建闭包。所以,请问有人能告诉我为什么会使用第一种语法吗?
!
,因为它强调了它正在被执行。 - cdmckay