实例讲解避免javascript冲突的方法(2)

[11]代码的冲突问题已经解决了,但可维护性并不强。比如,现在需要让工程师甲去修改功能B。因为工程师甲写的脚本是关于功能A的,他并不知道功能B的脚本情况。为了改善这种局面,需要给代码添加适当的注释。

var GLOBAL = {}; GLOBAL.namespace = function(str){   var arr = str.split('.');   var o = GLOBAL;   var start = 0;   if(arr[0] == 'GLOBAL'){     start = 1;   }else{     start = 0;   }   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;   var 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;   alert(a+b);//3 })(); /* * @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:实现乘2运算 * @author 工程师丁 * @connect 1234567 * @time 2015-01-01 */ (function(){   var a = GLOBAL.B.str1;   alert(a*2);//4 })();

javascript不再冲突,需要

  [1]避免全局变量的泛滥

  [2]合理使用命名空间

  [3]为代码添加必要的注释

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgwxyz.html