1.命名空间
同其他高级语言一样,js中的命名空间概念,也是为了减少命名冲突,但js没有命名空间关键字。js实现命名空间的思路是定义一个全局变量,将此命名空间的变量和方法,定义为这个全局变量的属性。
var MYAPP=MYAPP||{};//全局变量
MYAPP.dom={};//全局变量下的对象
MYAPP.dom.Element=function(type,prop){
var tmp=document.createElement(type);
for(var i in prop)
{
tmp.setAttribute(i,prop[i]);
}
return tmp;
}
MYAPP.dom.Text=function(txt){
return document.createTextNode(txt);
}//两个全局变量下对象的方法,这样写减少了全局变量的使用,减少了命名冲突,达到了命名空间的效果
var e11=new MYAPP.dom.Element("a",{href:"www.baidu.com"});
var e12=new MYAPP.dom.Text('click me');
e11.appendChild(e12);
document.body.appendChild(e11);