首页 > 代码库 > javascript单例模式(懒汉 饿汉)
javascript单例模式(懒汉 饿汉)
第一种:懒汉模式
var Singleton=(function(){ var instantiated; //比较懒,在类加载时,不创建实例,因此类加载速度快,但运行时获取对象的速度慢 function init(){ /*这里定义单例代码*/ return{ publicMethod:function(){ console.log(‘helloworld‘); }, publicProperty:3 }; } return{ getInstance:function(){ if(!instantiated){ instantiated=init(); } return instantiated; } }; })(); /*可在其他类调用公有的方法或属性来获取实例:*/ Singleton.getInstance().publicMethod(); Singleton.getInstance().publicProperty = 4; console.log(Singleton.getInstance().publicProperty);
第二种:饿汉模式
var Singleton=(function(){ var instantiated = init(); //比较饿,在类加载时就完成了初始化,所以类加载较慢,但获取对象的速度快 function init(){ /*这里定义单例代码*/ return{ publicMethod:function(){ console.log(‘helloworld‘); }, publicProperty:3 }; } return{ getInstance:function(){ return instantiated; } }; })();
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。