在页面中javascript初始化执行的时候就实例化类,如果在页面中没有使用这个实列化的对象,就会造成一定的内存浪费和性能损耗;这时候,我们可以使用惰性实列化来解决这个问题,惰性就是把实列化推迟到需要使用它的时候才去做,做到 "按需供应";
// 惰性实列化代码如下
var myNamespace = function(){
var Configure = function(){
var privateName = "tugenhua";
var privateGetName = function(){
return privateName;
};
var privateSetName = function(name) {
privateName = name;
};
// 返回单列对象
return {
setName: function(name) {
privateSetName(name);
},
getName: function(){
return privateGetName();
}
}
};
// 存储Configure实列
var instance;
return {
init: function(){
// 如果不存在实列,就创建单列实列
if(!instance) {
instance = Configure();
}
// 创建Configure单列
for(var key in instance) {
if(instance.hasOwnProperty(key)) {
this[key] = instance[key];
}
}
this.init = null;
return this;
}
}
}();
// 调用方式
myNamespace.init();
var name = myNamespace.getName();
console.log(name); // tugenhua
一键复制
编辑
Web IDE
原始数据
按行查看
历史