我有一个Module
,如下所示:
var Module = (function() {
var id;
var setID = function(a){
if(a)
id = a;
else
id = undefined;
};
var getID = function(){
return id;
};
// Return the object that is assigned to Module
return {
setID: setID,
getID: getID
};
}());
其中我正在设置id
member
到setID()
function
。
我想知道:通过这种方式,setID
是我的模块的public
成员,它可以被我的应用程序中的其他Module
调用。我只会设置id
一次,所以避免setID()
的其他调用来设置必须只设置一次的值。有办法吗?
我是Module
设计模式的新手,所以请原谅我有任何麻烦。
如果ID已经设置,则可以修改setID
以不执行任何操作:
var setID = function(a){
if(typeof a != 'undefined' && typeof id == 'undefined')
id = a;
};
然后其他模块仍然可以调用它,但它什么也不做(或者您可以让它抛出错误或返回false
)。