JS命名空间详解

来源:互联网 发布:逆袭网络剧第6集土豆 编辑:程序博客网 时间:2024/05/17 02:03

在接触这个概念之前只知道java中的命名空间、c++中的命名空间

今天说一下JS中的命名空间  

同一个HTML引入了两个人写的JS文件,发现命名冲突了。但是两个人都不想改啊,怎么办?在最外层加个”命名空间“,虽然这个命名空间与别的命名空间区别有点儿大。但是效果是一样的。


<!DOCTYPE html><html><head><meta charset="utf-8" /><title></title></head><body><button onclick="tab();">点我</button></body><script type="text/javascript">var tab = function(){alert("1");}</script></html>

上面这段代码会弹出1   因为没有任何代码冲突 

<!DOCTYPE html><html><head><meta charset="utf-8" /><title></title></head><body><button onclick="tab();">点我</button></body><script type="text/javascript">var tab = function(){alert("1");}var tab = function(){alert("2");}</script></html>


紧接着如果再写一个同名函数,后写的就会覆盖先写的,然后会弹出2


下面是添加了命名空间之后的代码  其实一看就懂  不懂的亲自试一下

<!DOCTYPE html><html><head><meta charset="utf-8" /><title></title></head><body><button onclick="namespace_a.tab();">点我</button></body><script type="text/javascript">var namespace_a = {}namespace_a.tab = function(){alert("1");}var namespace_b = {}namespace_b.tab = function(){alert("2");}</script></html>

上面的代码会弹出1


2 0
原创粉丝点击