1

在显示模块模式的示例中,它通常与立即调用的函数表达式一起使用,如下所示:

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

在定义后立即创建模块的实例。所以我的问题是:关于 RMP 有什么东西可以阻止我们在一个地方定义它,然后再实例化它,可能不止一次?像这样:

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

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

PS 我知道 RMP 被一些人认为是一种反模式,但这不是我要问的。我们也可以谈论常规的模块模式。

4

0 回答 0