Javascript中这两个模块模式形式有什么区别?

时间:2015-05-20 05:55:25

标签: javascript syntax closures module-pattern self-invoking-function

我注意到在网络上的不同代码示例中有两种不同的封闭形式 - 但我找不到任何可以识别两者之间差异(如果有的话)的内容。

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||{}))

结尾的对应形式

0 个答案:

没有答案