JavaScript 合作开发

Posted 大帝SING

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 合作开发相关的知识,希望对你有一定的参考价值。

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 合作开发的主要内容,如果未能解决你的问题,请参考以下文章

10个JavaScript代码片段,使你更加容易前端开发。

10个JavaScript代码片段,使你更加容易前端开发。

markdown Snippets.md是我最常用的HTML,CSS和JavaScript代码片段,用于前端Web开发

译文:18个实用的JavaScript代码片段,助你快速处理日常编程任务

如何写出规范的JavaScript代码

高效Web开发的10个jQuery代码片段