JavaScript遇到命名冲突怎么办?

pgmsoul 2013-03-14 09:22:26
随着JavaScript应用越多, 问题也越明显了, JavaScript不支持命名空间, 对于不同开发者开发的库, 很容易变量(函数)名冲突. 可是你又不能随便改, 可能牵扯到太多的页面.
...全文
259 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiashu912387 2013-03-15
  • 打赏
  • 举报
回复
javaScript 如此优美的语言怎么会没有呢? 楼上已经举了很多例子了
「已注销」 2013-03-15
  • 打赏
  • 举报
回复
var namespace = { a:{ b:{ c:{ d:123 } } } }; alert(namespace.a.b.c.d); 可以用这种方法。
洋小葱 2013-03-15
  • 打赏
  • 举报
回复
命名很重要哦。
未知数 2013-03-15
  • 打赏
  • 举报
回复
jquery只占据两个全局变量jQuery和$,Extjs只占据一个Ext, 自己写的代码乱怪不得语言本身 js用对象成员模拟命名空间,比命名空间更好用; 就算不用命名空间,把非公用的代码写在函数中也可以一个全局变量都不用: (function(){ var a,b,c,d... function xx(){...} })();
hch126163 2013-03-15
  • 打赏
  • 举报
回复
封装对象!!!!!!!
ftiger 2013-03-15
  • 打赏
  • 举报
回复
看来要养成这个习惯 (function ($) { })(jquery)
001007009 2013-03-15
  • 打赏
  • 举报
回复
建议楼主看下 编写高质量代码--Web前端开发修炼之道
pgmsoul 2013-03-15
  • 打赏
  • 举报
回复
事实是我在自己的库里使用下划线这个符号作为特殊全局对象,就像JQurery的$一样, 一直很好, 那天引用了别人的一个库,那个库是不归我控制的, 必须适应它, 而它也是用了下划线符号作为全局的一个变量,于是就乱套了, 现在我自己另取了一个名字, 把所有代码都用这个名字重写.
Kilin_Zhang 2013-03-15
  • 打赏
  • 举报
回复
闭包是干什么用的,所有对象都声明称全局对象乱死人不偿命的
  • 打赏
  • 举报
回复
var comm={abc:123} var comm.inner={abc:123} 楼主自己研究下,怎么会没有名字空间
ftiger 2013-03-14
  • 打赏
  • 举报
回复
估计是copy党,那就会乱成一团了。
scscms太阳光 2013-03-14
  • 打赏
  • 举报
回复
能不使用全局变量就不用!必须用的,规定好命名规则,并统一在一个文件中书写,其他函数之类的全部使用局部变量。
菜牛 2013-03-14
  • 打赏
  • 举报
回复
谁说不支持命名空间哦,你把自己的东西都用一个对象包括起来就行了,比如jQuery的$或者jQuery、ExtJS的Ext,都可以当作命名空间用。

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧