我现在已经在一些库中看到了这种语法,我想知道这样做有什么好处。(请注意,我非常了解闭包以及代码在做什么,我只关心语法上的差异)
!function(){
// do stuff
}();
作为更常见的替代
(function(){
// do stuff
})();
自调用匿名功能。
我想知道几件事。首先,是什么让最高示例真正起作用?为了使该语句在语法上正确,为什么必须使用爆炸呢?有人告诉我这+
行得通,而且我敢肯定还有其他地方可以代替!
第二,好处是什么?我只能说它保存了一个字符,但是我无法想象吸引如此多的采用者具有如此巨大的好处。我还缺少其他好处吗?
我可以看到的唯一其他区别是自调用函数的返回值,但是在这两个示例中,我们都不在乎函数的返回值,因为它仅用于创建闭包。那么有人可以告诉我为什么会使用第一种语法吗?
!
它所强调的正在执行。