随着JavaScript应用越多, 问题也越明显了, JavaScript不支持命名空间, 对于不同开发者开发的库, 很容易变量(函数)名冲突. 可是你又不能随便改, 可能牵扯到太多的页面.

解决方案 »

  1.   

    谁说不支持命名空间哦,你把自己的东西都用一个对象包括起来就行了,比如jQuery的$或者jQuery、ExtJS的Ext,都可以当作命名空间用。
      

  2.   

    估计是copy党,那就会乱成一团了。
      

  3.   

    var comm={abc:123}
    var comm.inner={abc:123}楼主自己研究下,怎么会没有名字空间
      

  4.   

    建议楼主看下 编写高质量代码--Web前端开发修炼之道
      

  5.   

    jquery只占据两个全局变量jQuery和$,Extjs只占据一个Ext,
    自己写的代码乱怪不得语言本身
    js用对象成员模拟命名空间,比命名空间更好用;
    就算不用命名空间,把非公用的代码写在函数中也可以一个全局变量都不用:
    (function(){
       var a,b,c,d...
       function xx(){...}
    })();
      

  6.   

    javaScript 如此优美的语言怎么会没有呢?  楼上已经举了很多例子了
      

  7.   

    事实是我在自己的库里使用下划线这个符号作为特殊全局对象,就像JQurery的$一样, 一直很好, 那天引用了别人的一个库,那个库是不归我控制的, 必须适应它, 而它也是用了下划线符号作为全局的一个变量,于是就乱套了, 现在我自己另取了一个名字, 把所有代码都用这个名字重写.
      

  8.   

    看来要养成这个习惯
    (function ($) {
    })(jquery)
      

  9.   

    var namespace = {
                        a:{
                            b:{
                                c:{
                                    d:123
                                }
                            }
                        }
                    };
    alert(namespace.a.b.c.d);可以用这种方法。