揭示模块模式实例化和命名约定

时间:2015-06-07 16:02:44

标签: javascript design-patterns naming-conventions revealing-module-pattern

在Revealing Module Pattern的示例中,它通常与Immediately Invoked Function Expression一起使用,如下所示:

var foo = (function () { 
  ..rmp definition ... 
})(); 

在定义后立即创建模块的实例。所以我的问题是:RMP是否应该阻止我们在一个地方定义它然后在以后实例化它,可能不止一次?像这样:

var foo = function () { 
  ..rmp definition ... 
};
...
...
var foo1 = foo();
var foo2 = foo();

JSHint让我感到奇怪,因为我曾经把'foo'大写,并且警告说它不是构造函数(这是真的)所以它不应该以大写字母开头。所以我的第二个问题是,对于稍后要使用的变量存储模块定义,建议使用哪种命名约定?

P.S。我知道RMP被一些人认为是反模式,但这不是我所要求的。我们也可以谈论常规模块模式。

0 个答案:

没有答案