javascript单例模式(懒汉 饿汉)

it2026-01-20  9

第一种:懒汉模式

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; } }; })();

 

 

转载于:https://www.cnblogs.com/rhythm2014/p/3731604.html

最新回复(0)