js模块(函数和闭包来构造模块)

模块模式的一般形式:一个定义了私有变量和函数的函数,利用闭包创建可以访问私有变量和函数的特权函数,最后返回这个特权函数,或者把他们保存到一个可以访问的地方,使用模块可以摒弃全局变量的使用,促进了信息隐藏和其他优秀的设计实践,对于js应用程序 的封装或者构造单例对象,模块模式非常有效

例如:

Function.prototype.method=function(mthname,fun){
    this.prototype[mthname]=fun;
    return this;
}


String.method("test",function(){
    var entity={"lt":"<","gt":">"};//只有内部函数与该私有变量关联
    return function(){
        return this.replace(/&([^&;]+);/g,function(a,b){
            var r=entity[b];
            return typeof r==="String" ? r:a;
        })
    }//返回这个实际的函数
}()//立即调用);

var str="&lt;";
document.write(str.test())


模块化编程详述,可参见该日志http://www.ruanyifeng.com/blog/2012/10/javascript_module.html
原文地址:https://www.cnblogs.com/aveenzhou/p/2754720.html