Javascript对象/闭包

Joh*_*ams 2 javascript closures

一个JS大师可以解释为什么这样:

$$={}
(function(x){
    x.newModule = {
            func: function(){...}
    };
})($$);
$$.newModule.func()
Run Code Online (Sandbox Code Playgroud)

优于这个?

$$.newModule = {
    func: function() {...}
}
$$.newModule.func()
Run Code Online (Sandbox Code Playgroud)

Thi*_*ilo 7

额外的函数为您提供了一个您可能想要使用的额外本地范围(尽管它不在您的简短示例中).

(function(x){
    var privateFunction = function() {};
    var privateCounter = 1;
    x.newModule = {
            func: function(){...}
    };
})($$);
Run Code Online (Sandbox Code Playgroud)