This question already has answers here:
(…()) vs. (…)() in javascript closures [duplicate]
                                
                                    (3个答案)
                                
                        
                                6年前关闭。
            
                    
这两行代码之间的确切区别是什么。

 var functionOne = (function(){})();




 var functionTwo = (function(){}());


我注意到在浏览js Module模式时都使用了两者,但是我想知道它们之间的确切区别是什么。

最佳答案

两者都是相同的立即调用功能。
有几种不同的语法变体。道格拉斯·克罗克福德(Douglas Crockford)的JSLint为自动调用功能提供了正确的声明,它是:

(function () {
    //body
}());


替代语法是,Crockford称之为“狗球”……:

(function () {
    //body
})();

07-24 09:18