js 模块化

采用闭包模块化的方式

var MyModule = function(){
  var num = 0
  var countNum = function(){
       num++
       return num  
    }
  return {
      getNum: function(){
        return countNum()
    }
  }    
}()




使用闭包,立即调用函数完成模块的封装,缺点各模块之间无法共享私有变量

AMD,CommonJs模块化标准。

AMD提供define函数来对模块进行导入

CommonJs使用 require(path)导入模块,module.exports = {} 导出模块中的变量或方法(只有module.exports导出的变量才能被导入)

es6:import 导入,export导出。