首页 > 其他 > 详细

单例模式

时间:2014-12-05 12:23:43      阅读:188      评论:0      收藏:0      [点我收藏+]
var singleton = function(){
    //私有
    var priVar = 10;

    function priFun(){
        return false;
    }

    //公有
    return {
        publicProperty: true,
        publicMethod: function(){
            priVar++;
            return priFun();
        }
    };
}(); //初始化函数

document.writeln(singleton.publicProperty);

通过变量 singleton 只能访问公有的属性和方法,私有的属性和方法会在初始化时调用

某种类型的单利

function BaseComponet(){

}

var application = function(){
    // 私有
    var privateVar = 10;
    var privateMethod = function(){
        return false;
    }

    var components = new Array();

    var app = new BaseComponet(); //自定义的   
    
    //公共接口
    app.getComponent = function(){
        return components.length;
    }

    app.registerComponent = function(component){
        if(typeof component == "object"){
            components.push(component);
        }
    }
    return app; // 初始化时将app的引用赋给application
}(); // 初始化

 

初始化的方式:表达式();

单例模式

原文:http://www.cnblogs.com/lcw5945/p/4146171.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!