回收英飞凌模块
1.模块化
(1)什么是模块化?
把代码整理成一个一个小的功能,便于你增加或减少和修改的功能,同时又不会影响整个系统;
(2)为什么要使用模块化?
模块化可以使你的代码低耦合,功能模块直接不互相影响;
好处:
可维护性: 每个模块都是独立的,良好的设计模块尽量与外部的代码撇清关系,以便于独立对其进行改进和维护;
命名空间: 在js中,最高级别的函数外定义的变量都是全局函数,
会跟一些无关的代码使用到的变量同名,就会遇到命名空间污染的问题;
在我们开发的额过程中要极力的避免;
可复用性: 在现实中我们经常复制以前的代码到自己的新项目中,
这个时候可以使用模块化;
(3)如何引入模块?
@1:匿名的闭包函数 : (function () { }()) 在函数的作用域中下面的变量是私有的
一定要用括号 把匿名的函数包起来,以关键词function 开头的语句
总是被解析成函数的声明(js不允许没有命名的函数声明),加上括号后,
内部的代码就会被识别为函数的表达式,也叫立即执行的函数;
@2:全局引入 : juqery的库使用的全局引入,和匿名闭包函数相似,
传入的全局变量方法不同;
@3:对象接口 : 使用独立的对象接口
一个变量去接收函数的调用,在函数里面的变量都是私有的,
return返回接口调用的方法,把数据写在函数里面,return 返回出来;
函数外面可以通过定义的变量直接调用接口的方法
@4: 揭示模块模式
和匿名闭包函数 全局函数 非常相似,除了他会确保在所有的变量和方法暴露之前都会保持私有
一个变量去接收函数的调用,在函数里面的变量都是私有的,
用一个变量接收函数,把数据写在函数里面,return 返回出来;
在最后面通过return 返回对象出去(对象就是刚才定义的变量名);
函数外面可以通过定义的变量直接调用接口的方法
上面的方案都有一个共同点: 使用单个全局变量把所有的代码
包含在一个函数内,由此创建私有的命名空间和闭包的作用域;
回收英飞凌模块