多人一起开发js文件时,由于所起的变量名都是window的属性(即全局变量),容易重名冲突,解决办法是每个程序员所写的代码都放在匿名函数中,形式为(function(){})();这样包在匿名函数中的变量为局部变量,不会与其他程序员的变量相冲突。

   如果程序员A要引用程序员B写的某个变量,如何解决呢?
   解决的办法是设计一个全局变量,利用全局变量的桥梁作用,使得不同程序段可以通信。如何设计全局变量呢,可以采用命名空间的方式:
     <script>
     var GLOBAL = {};
     GLOBAL.namespace = function(str){
        var arr = str.split("."), o = GLOBAL;
        for(i=(arr[0]="GLOBAL")?1:0; i<arr.length; i++){
            o[arr[i]] = o[arr[i]] || {};
            o = o[arr[i]];
        }
     }
     </script>
   使用方法:当程序员A写的程序:
   <script>
    (function(){
     var a = "abc",b="123";
     GLOBAL.namespace("A.CAT");
     
    GLOBAL.A.str2 = a;
    GLOBAL.A.str = b;
    })();
   </script>
   程序员B就可以引用GLOBAL.A.str2和GLOBAL.A.str了。