JS大师可以在那里解释为什么:
$$={}
(function(x){
x.newModule = {
func: function(){...}
};
})($$);
$$.newModule.func()
优于此?
$$.newModule = {
func: function() {...}
}
$$.newModule.func()
答案 0 :(得分:7)
额外的功能为您提供了一个您可能想要使用的额外本地范围(尽管它不在您的简短示例中)。
(function(x){
var privateFunction = function() {};
var privateCounter = 1;
x.newModule = {
func: function(){...}
};
})($$);
答案 1 :(得分:0)
在第一种模式中,您可以拥有在第二种模式中无法实现的私有方法和变量。这就是第一种模式优越的原因。