我注意到在网络上的不同代码示例中有两种不同的封闭形式 - 但我找不到任何可以识别两者之间差异(如果有的话)的内容。
var module = (function() { ... })()
和
var module = (function() { ... }())
在下面的示例中,它们似乎在功能上等同,但我似乎记得,在某一时刻,区别很重要(代码使用一种形式而不是另一种形式)。
var sdk =(function(){
var privacy='illusion';
return (
{
getPrivacy: function(){return privacy;}
});
})()
console.log(sdk.getPrivacy());
似乎与用}())
替换倒数第二行的代码片段相同
如果我传入一个Module对象以将公共属性/方法关联到:
,这似乎也是如此。var sdk =(function($){
var privacy='illusion';
$.getPrivacy = function() { return privacy;}
return($);
})(sdk=sdk||{})
console.log(sdk.getPrivacy());
或以}(sdk=sdk||{}))