我正在做一个项目,我们使用一种模式来定义“模块”(即有效的公共静态类),其中每个模块都有一个init()
应该在定义模块后调用的。看起来像:
MyNamespace.MyModule = (function () {
var my = {};
my.init = function(config) {
// setup initial state using config
};
return my;
})();
我在这个代码库中看到了两种用于定义config
默认值的模式,并想知道哪一种可能更好——如果有任何我没有立即看到的优点或缺点。建议?
这是第一个:
MyNamespace.MyModule = (function () {
var my = {},
username,
policyId,
displayRows;
my.init = function(config) {
config = config || {};
username = config.username || 'Anonymous';
policyId = config.policyId || null;
displayRows = config.displayRows || 50;
};
return my;
})();
这是第二个:
MyNamespace.MyModule = (function () {
var my = {},
username = 'Anonymous',
policyId = null,
displayRows = 50;
my.init = function(config) {
config = config || {};
username = config.username || username;
policyId = config.policyId || policyId;
displayRows = config.displayRows || displayRows;
};
return my;
})();