模块

JavaScript不是一种模块化编程语言,ES5不支持”类”(class),更遑论”模块”(module)了。ES6正式支持”类”和”模块”

一.封装私有变量:立即执行函数的写法

var module1 = (function () {
 var _count = 0;
 var m1 = function () {
   //...
 };
 var m2 = function () {
  //...
 };
 return {
  m1 : m1,
  m2 : m2
 };
})();

二.输入全局变量

独立性是模块的重要特点,模块内部最好不与程序的其他部分直接交互。

为了在模块内部调用全局变量,必须显式地将其他变量输入模块。

(function($, window, document) {

  function go(num) {
  }

  function handleEvents() {
  }

  function initialize() {
  }

  function dieCarouselDie() {
  }

  //attach to the global scope
  window.finalCarousel = {//暴露出去的变量
    init : initialize,
    destroy : dieCouraselDie
  }

})( jQuery, window, document );

上面代码中,finalCarousel对象输出到全局,对外暴露initdestroy接口,内部方法gohandleEventsinitializedieCarouselDie都是外部无法调用的。

 

posted on 2017-06-16 09:36  我爱吃豌豆  阅读(110)  评论(0编辑  收藏  举报

导航