小编Ahm*_*zam的帖子

导出模块模式

我刚刚开始学习JavaScript中的模式,并习惯于编写这样的JavaScript:

(function(window){
  var privateVar;
  var privateFunc = function(param){     
    //do something
  }

  return{
    publicFunc: function(){
    do something
  }

}(window));
Run Code Online (Sandbox Code Playgroud)

但最近我发现一些脚本在开头就写了这样的东西:

(function (root, factory) {
    if ( typeof define === 'function' && define.amd ) {
        define('something', factory(root));
    } else if ( typeof exports === 'object' ) {
        module.exports = factory(root);
    } else {
        root.something = factory(root);
    }
})(window || this, function (root) {

      var privateVar;
      var privateFunc = function(param){     
        //do something
      }

      return{
        publicFunc: function(){
        do something
      }

});
Run Code Online (Sandbox Code Playgroud)

那么,这段代码在开始时意味着什么呢?它与此模块导出技术之间有什么区别:

var MODULE …
Run Code Online (Sandbox Code Playgroud)

javascript module-pattern

7
推荐指数
1
解决办法
5744
查看次数

标签 统计

javascript ×1

module-pattern ×1