1. 程式人生 > >JavaScript 合作開發

JavaScript 合作開發

工程師 tr1 所有 www col 判斷 author html 數組

var GLOBAL = {};
// ‘str‘ : ‘GLOBAL.A‘、‘A‘、‘A.str1‘
GLOBAL.namespace = function(str) {
  // split 字符串分割為數組
  var arr = str.split(‘.‘);
  var o = GLOBAL;
  var start = 0;
  // 判斷數組內的第一個元素是否為GLOBAL;
    // 如果是,下方的for循環從第二個數組元素開始獲取,否則,從頭開始
  if (arr[0] == ‘GLOBAL‘) {
      start = 1;
  } esle {
      start = 0;
  }
  
// o = o[arr[i]] 的作用: 如果arr的長度大於等於2,為了形成嵌套的層級關系,將o始終等於上一級對象; 如此,o[arr[i]]就會始終為上一級對象添加子對象。 // || {}的作用: 判斷該屬性在該層級是否存在,如果存在,值不變,反之,將一個對象付給該值 for (var i = start; i < arr.length; i++) { o[arr[i]] = o[arr[i]] || {}; o = o[arr[i]]; } }; /* @method 功能A:實現加法運算 @author 工程師甲 @connect 1234567 @time 2015-01-01
*/ (function() { var a = 1,b = 2; GLOBAL.namespace(‘A.CAT‘); GLOBAL.namespace(‘A.DOG‘); GLOBAL.A.CAT.name = ‘mimi‘; GLOBAL.A.DOG.name = ‘xiaobai‘; GLOBAL.A.CAT.move = function() {}; GLOBAL.A.str1 = a; GLOBAL.A.str = b; })(); /* @method 功能B:實現加法運算 @author 工程師乙 @connect 1234567 @time 2015-01-01
*/ (function() { var a = 2; var b = 1; GLOBAL.namespace(‘B‘); GLOBAL.B.str1 = a; alert(a-b); //1 })(); /* @method 功能C:實現加法運算 @author 工程師丙 @connect 1234567 @time 2015-01-01 */ (function() { var a = GLOBAL.A.str1; var b = GLOBAL.A.str; alert(a*b); //2 })(); /* @method 功能D:實現加法運算 @author 工程師丁 @connect 1234567 @time 2015-01-01 */ (function() { var a = GLOBAL.B.str1; alert(a*2); //4 })();

合作開發中最容易出現變量混淆, 使用對象將所有變量存儲起來是較為流傳的方法, 但單純的對象存儲難以應對去全局變量眾多的復雜操作,因此,根據不同功能命名全局變量的屬性形成一個特殊的層級(全局變量的第一層級),根據第一層級屬性名劃分不同功能的變量,以函數方法來承載繁瑣的命名(簡化代碼),以註釋增強代碼的可維護性。

截選至 小火柴的藍色理想 , 如有侵權,請留言,會立即刪除。

JavaScript 合作開發