我现在已经在一些库中看到了这种语法,我想知道有什么好处。(注意我很清楚闭包和代码在做什么,我只关心语法差异)
!function(){
// do stuff
}();
作为更常见的替代品
(function(){
// do stuff
})();
用于自调用匿名函数。
我想知道一些事情。首先,是什么让顶级示例真正起作用?为什么需要 bang 才能使这个语句在语法上正确?我也被告知这+
有效,我相信其他一些代替!
第二,有什么好处?我只能说它节省了一个角色,但我无法想象这是一个吸引众多采用者的巨大好处。我还缺少其他什么好处吗?
我能看到的唯一其他区别是自调用函数的返回值,但在这两个示例中,我们并不真正关心函数的返回值,因为它仅用于创建闭包。那么有人可以告诉我为什么人们可能会使用第一种语法吗?