1.简单实现单例模式:
var singleTon = function(){
var _pria = 'private value';
var show_pria = function(){
console.log(_pria);
}
return {
show : function(){
show_pria();
},
com : '222'
}
}
var instance = singleTon();
instance.show();
这种方式,在获取实例的时候已经执行了初始化,即使没有调用实例的方法或者获取实例的属性。如果想调用的时候再获取,可以参考下面:
2.调用时执行初始化,获得实例
var mySingleTon = (function(){
var instance;
function init(){
var _pria = 'private value';
var show_pria = function(){
alert(_pria);
}
return {
show_pria : function(){
show_pria();
},
pub_var : 'pub value'
}
}
return {
getInstance : function(){
if(!instance){
instance = init();
}
return instance;
}
}
})()
mySingleTon.getInstance().show_pria();//private value