知識社群登入
模組範例
by 蘇德宙, 2012-06-06 21:39, 人氣(1544)
利用以下特性,建立模組的範例 (p100 @ JavaScript Pattern)
1. 命名空間 namespace
2. 立即函式
3. private (closure)
4. 宣告相依性

if (typeof FS.lib.array === 'undefined') {
// 一般 lib 開發會很嚴謹,尤其是同一家公司,應該不會不小心被覆蓋,所以可以省略檢查
FS.namespace('FS.lib.array');
FS.lib.array = (function() {
      // 宣告相依性
  var uobj = FS.lib.object,
      ulang = FS.lib.lang,

      // private 屬性
      _str = "...";

  // init
  
  // public API
  return {
    inArray: function() { ... },
    isArray: funciton() { ... }
}());
}


將 private 變成 public,物件完成後,決定開放那些 API
FS.lib.array = (function() {
      // 宣告相依性
  var uobj = FS.lib.object,
      ulang = FS.lib.lang,

      // private 屬性
      _str = "...";

  // init
  
  // private method
  inArray = function() { ... }
  isArray = fucction() { ... }

  // set public API
  return {
    inArray: inArray,
    isArray: isArray
}());