封装(模块化)

1 闭包实现封装

var oj= (function(){  
    var _age= 0;  
    var func1= function(){  
      return _age+1; 
    };  
    var func2= function(){  
      return _age+2;  
    };  
    return {  
      m1 : func1,  
      m2 : func2  
    };  
})(); 

2 为上面的方法添加新方法

var obj =(function (f){  
    f.func3= function () {  
      return '方法模式';
    };  
    return f;//方便方法连续调用  
})(oj);//新模块obj继承oj的方法,并增加一个
alert(obj.m1());
alert(obj.m2());
alert(obj.func3());

3 上边的可能在oj没有加载,就执行obj模块,所以可以这样

var obj =(function (f){  
    f.func3= function () {  
      return '方法模式';
    };  
    return f;//方便方法连续调用  
})(window.oj|| {});

4 输入全局变量:独立性是模块的重要特点,模块内部最好不与程序的其他部分直接交互。为了在模块内部调用全局变量,必须显式地将其他变量输入模块。

   这是jQuery框架的源码,将window对象作为参数传入,这样做除了保证模块的独立性,还使得模块之间的依赖关系变得明显。

 

(function(window, undefined ) {  
  ……  
})(window ); 

 

转载于:https://www.cnblogs.com/by-dxm/p/6420522.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值