有时候一个对象希望仅仅创建一个实例,比如点击一个按钮弹出一个窗口,点击第二次的时候不会再弹出,实现思想:
只要下次创建对象实例之前判断一下是否已经存在实例:
var Singleton = function( name ){
this.name = name;
this.instance = null;
};
Singleton.prototype.getName = function(){
alert ( this.name );
};
Singleton.getInstance = function( name ){
if ( !this.instance ){
this.instance = new Singleton( name ); }
return this.instance;
};
var a = Singleton.getInstance( 'sven1' );
var b = Singleton.getInstance( 'sven2' );
alert ( a === b ); // true
本文介绍了一种使用JavaScript实现单例模式的方法,确保整个应用程序中一个类只有一个实例,并提供一个全局访问点。通过实例化Singleton类并调用getInstance方法,无论传入什么参数,返回的都是同一个实例。
159

被折叠的 条评论
为什么被折叠?



