javascript命名空间问题(没事散分了!参与有奖^_^)

闪闪放光芒 2014-12-04 03:00:12
看了一些js对命名空间的介绍但是还是很迷糊(据说就是为了防止函数名字重复问题)。
不知道哪位大侠可以从概念上和例子上详细阐述一下。小弟感激不尽
jquery里面是不是也用到命名空间了呢?
当然还是重在掺和凡是掺和的兄弟皆有分拿!
...全文
133 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhishiheng 2014-12-04
  • 打赏
  • 举报
回复
Jquery 就用了所谓的命名空间
zhishiheng 2014-12-04
  • 打赏
  • 举报
回复
Jquery 就用了所谓的命名空间
Atai-Lu 2014-12-04
  • 打赏
  • 举报
回复

var a=new Object();
a.test=function(){
alert("x");
};
a.test2=function(){
alert('test2');
};
//调用
a.test();
a.test2();
Atai-Lu 2014-12-04
  • 打赏
  • 举报
回复

//其实就是定义一个变量或者方法里定义变量、方法
//第一种方式
var a=function(){
	var t=this;
	t.test=function(){
		alert("x");
	};
};
//调用
new a().test();
//不想每次都要new的话,直接在公用的js文件里写一个new a()
//比如
var x=new a();
//然后其他地方调用就可以直接
x.test();

//第二种方法(其实就是定义json)
var a={
    test: function(){
      alert("1233");
   }
};
//调用
a.test();
闪闪放光芒 2014-12-04
  • 打赏
  • 举报
回复
引用 7 楼 hxm_ss5224 的回复:
[quote=引用 2 楼 wxdawxq 的回复:] JavaScript不像C#或Java,有专门的namespace和package语法支持,当JS复杂到一定程度,尤其是引用大量的第三方JS框架和类库之后,命名冲突就会成为一个严重的问题,因此使用JS自己的变通方式建立命名空间很重要。 你可以看看extjs
如果有了命名空间就防止了函数名重复的问题。比如说: function a(){...........} //这样子命名的,你再写一个function a{........}就会报错 有了命名空间 你可以加命名空间访问,即使你的函数名相同都可以的。[/quote] O(∩_∩)O哈哈~兄台太客气了参与了就是我的荣幸。 欢迎更多其他仁兄参与进来!
闪闪放光芒 2014-12-04
  • 打赏
  • 举报
回复
引用 7 楼 hxm_ss5224 的回复:
[quote=引用 2 楼 wxdawxq 的回复:] JavaScript不像C#或Java,有专门的namespace和package语法支持,当JS复杂到一定程度,尤其是引用大量的第三方JS框架和类库之后,命名冲突就会成为一个严重的问题,因此使用JS自己的变通方式建立命名空间很重要。 你可以看看extjs
如果有了命名空间就防止了函数名重复的问题。比如说: function a(){...........} //这样子命名的,你再写一个function a{........}就会报错 有了命名空间 你可以加命名空间访问,即使你的函数名相同都可以的。[/quote] O(∩_∩)O哈哈~兄台太客气了参与了就是我的荣幸。 欢迎更多其他仁兄参与进来!
闪闪放光芒 2014-12-04
  • 打赏
  • 举报
回复
可以写的命名空间例子吗那我怎么定义命名空间呢?
My_It5224 2014-12-04
  • 打赏
  • 举报
回复
引用 2 楼 wxdawxq 的回复:
JavaScript不像C#或Java,有专门的namespace和package语法支持,当JS复杂到一定程度,尤其是引用大量的第三方JS框架和类库之后,命名冲突就会成为一个严重的问题,因此使用JS自己的变通方式建立命名空间很重要。 你可以看看extjs
如果有了命名空间就防止了函数名重复的问题。比如说: function a(){...........} //这样子命名的,你再写一个function a{........}就会报错 有了命名空间 你可以加命名空间访问,即使你的函数名相同都可以的。
My_It5224 2014-12-04
  • 打赏
  • 举报
回复
引用 2 楼 wxdawxq 的回复:
JavaScript不像C#或Java,有专门的namespace和package语法支持,当JS复杂到一定程度,尤其是引用大量的第三方JS框架和类库之后,命名冲突就会成为一个严重的问题,因此使用JS自己的变通方式建立命名空间很重要。 你可以看看extjs
如果有了命名空间就防止了函数名重复的问题。比如说: function a(){...........} //这样子命名的,你再写一个function a{........}就会报错 有了命名空间 你可以加命名空间访问,即使你的函数名相同都可以的。
My_It5224 2014-12-04
  • 打赏
  • 举报
回复
引用 2 楼 wxdawxq 的回复:
JavaScript不像C#或Java,有专门的namespace和package语法支持,当JS复杂到一定程度,尤其是引用大量的第三方JS框架和类库之后,命名冲突就会成为一个严重的问题,因此使用JS自己的变通方式建立命名空间很重要。 你可以看看extjs
如果有了命名空间就防止了函数名重复的问题。比如说: function a(){...........} //这样子命名的,你再写一个function a{........}就会报错 有了命名空间 你可以加命名空间访问,即使你的函数名相同都可以的。
闪闪放光芒 2014-12-04
  • 打赏
  • 举报
回复
引用 2 楼 wxdawxq 的回复:
JavaScript不像C#或Java,有专门的namespace和package语法支持,当JS复杂到一定程度,尤其是引用大量的第三方JS框架和类库之后,命名冲突就会成为一个严重的问题,因此使用JS自己的变通方式建立命名空间很重要。 你可以看看extjs
多谢兄台指引那我先看看extjs是什么
wxdawxq 2014-12-04
  • 打赏
  • 举报
回复
JavaScript不像C#或Java,有专门的namespace和package语法支持,当JS复杂到一定程度,尤其是引用大量的第三方JS框架和类库之后,命名冲突就会成为一个严重的问题,因此使用JS自己的变通方式建立命名空间很重要。 你可以看看extjs
拜一刀 2014-12-04
  • 打赏
  • 举报
回复
散分好啊 表示没用过jquery 关于防止命名重复,像.net平台,有三种timer,System.Windows.Forms.Timer ,System.Threading.Timer ,System.Timers.Timer ,虽然各不相同,但是小名都叫timer,大概就是这个感觉吧?

87,904

社区成员

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

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