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