|
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果东西比较多,最好是有自己的name space,
1)如果没有自己的name space, 意味着一切object/function都挂到global (window)这个object 下,不安全,可能被自己或者别人overwrite,而且系统要花比较多的资源去维护这个global的object
2) intelligence, 方便编程,尤其是多人协作,不知道别人写了哪些函数,用name space就很方便, 以下面这个为例,当你输入myajax.时,会自动弹出所有的property/method供你选择
改一下LZ的代码,大约可以这样优化(未经测试)
var myajax={ // my name space is myajax
ggg:null;
};
myajax.createRequest= function () {
if(this.ggg) return this.ggg; //如果已经有值,直接跳回
try {
this.ggg = new XMLHttpRequest();
} catch (tryMS) {
try {
this.ggg= new ActiveXObject("Msxml2.XMLHTTP");
} catch (otherMS) {
try {
this.ggg= new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
this.ggg= null;
}
}
}
return this.ggg;
}
myajax.getDetails=function(itemName) {
xxx = this.createRequest();
if (xxx == null) {
alert("Unable to create request");
return;
}
var url = "getDetails.php?ImageID=" + escape(itemName);
xxx.open("GET", url, true);
xxx.onreadystatechange = this.displayDetails;
xxx.send(null);
}
[ 本帖最后由 典 于 2011-9-28 09:24 编辑 ] |
评分
-
查看全部评分
|