模块化开发及AMD、CMD、Require.js、sea.js、common.js、ES6的对比
一,模块化开发: 定义: 所谓的模块化开发就是封装细节,提供使用接口,彼此之间互不影响,每个模块都是实现某一特定的功能。模块化开发的基础就是函数 使用函数封装: function func1 ( ) { //... } function func2 ( ) { //... } 注释 : 上面的函数func1 ()和func2 (),组成一个模块。使用的时候,直接调用就行了。这种做法的缺点很明显:影响了全局变量,无法保证不与其他模块发生变量名冲突,而且模块成员之间看不出直接关系。 立即执行函数的写法: 使用"立即执行函数"(Immediately-Invoked FunctionExpression,IIFE),可以达到不暴露私有成员的目的。这个也是闭包处理的一种方式 var obj = ( function ( ) { var _age = 0 ; var func1 = function ( ) { //... } ; var func2 = function ( ) { //... } ; return { m1 : func1 , m2 : func2 } ; } ) ( ) ; 使用上面的写法,外部代码无法读取内部的age变量。