Javascript中模块模式的语法

时间:2016-02-28 18:14:00

标签: javascript design-patterns

我正在学习Javascript中的模块模式,并且遇到了这两种创建模块的方法:

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

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

这两种方法有显着差异吗?如果没有,这被认为是更好的做法?感谢。

1 个答案:

答案 0 :(得分:0)

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

因此,从JS解释器todo列表的角度来看它应该完全相同:1)获取函数表达式,2)立即执行它。

它只是从美学的角度来看 - 它看起来的方式对你来说更自然。