JavaScript两种单例模式

参考一:

function UserDataFun (){
    //alert("我被调用了,我模拟初始化工作...");
    this.dailog = function () {
        alert("我..........");
    };

    this.init = function () {
        alert("..........");
    };
};

var UserData = {
    _obj: null,
    getInstance: function () {

        if(this._obj == null){
            this._obj = new UserDataFun();
        }
    },
    print: function () {
        //alert(this._obj);
        this._obj.dailog();
    },
    init: function () {
        //alert(this._obj);
        this._obj.init();
    }
};
UserData.getInstance();
var obj1 = UserData._obj;
UserData.getInstance();
var obj2 = UserData._obj;

if (obj1 === obj2){
    alert("11111111111111111111");
}else{
    alert("000");
}

参考二:

var UserData = {
    _obj: null,
    getInstance: function () {

        if(this._obj == null){
            this._obj =  new Function();
        }

        this._obj.dailog = function () {
            alert("我..........");
        };

        this._obj.init = function () {
            alert("..........");
        };
    },
    print: function () {
        //alert(this._obj);
        this._obj.dailog();
    },
    init: function () {
        //alert(this._obj);
        this._obj.init();
    }
};


猜你喜欢

转载自blog.csdn.net/xiao19911130/article/details/48686367