2016-02-28 43 views
2

我学习的Javascript模块模式模块模式,以及所遇到的这两种方式来创建一个模块:语法在Javascript

var Module = (function() { 
    // code 
})(); 

var Module = (function() { 
// code 
}()); 

有在这两种方法一个显著差异?如果没有,这被认为是更好的做法?谢谢。

+1

不,没有。这是重复的,我会找到更早的版本。 –

+0

在这种情况下,没有区别。 至于模块,你可以阅读关于commonjs和amd。正如我建议查看打字稿的示例,将生成的代码可用于形成模块结构的想法 – Pyfhon

+0

谢谢@TJJCrowder找到正确的答案。这回答了我的问题。 – akshayKhot

回答

0

两者都是一样的。外围圆括号强制内部代码作为表达式进行评估。这意味着在这两种情况下,功能代码都被视为功能表达式。然后由于()括号,这个函数立即执行。

所以,从JS解释器待办事项列表的角度来看应该是完全一样的:1)获取函数表达式,2)立即执行它。

它只是有别于美学的观点 - 它对你而言更为自然看起来

+0

谢谢你的回答。这有助于。 – akshayKhot