模块模式通过为单例添加私有变量和特权方法能够使其得到增强,语法如下:
var singleton = function() {
// 私有变量和私有函数
var privateVariable = 10;
function privateFunc() {
return false;
}
// 公有的方法和函数
return {
publicVariable: true,
publicFunc:function() {
privateVariable++;
return privateFunc()
}
}
}
增强模块模式
增强模块模式,即在返回对象之前加入对其增强的代码。这种增强的模块适合那些单例必须是某种类型的实例,同时还必须添加某些属性和方法对其加以增强的情况。如:
var singleton = function() {
// 私有变量和私有函数
var privateVariable = 10;
function privateFunc() {
return false;
}
// 创建对象
var obj = new CustomType();
// 添加公有方法和属性
obj.publicProperty = true;
obj.publicMathod = function() {
privateVariable++;
return privateFunc();
}
return obj;
}
qrcode_for_gh_76cb9bd1051f_344.jpg