您的位置:首页 > Web前端 > JavaScript

论Javascript如何防止污染全局作用域

2007-11-01 00:58 169 查看
/**

* ==============================================

* 会污染全局作用域的编码方式

* ==============================================

*/

/*

alert("NaN is NaN: " + isNaN(NaN));

function x() {

this.isNaN = function() {

return "not anymore!";

};

}

// alert!!! trampling the Global object!!!

x();//一执行就污染了全局作用域中的函数isNaN

alert("NaN is NaN: " + isNaN(NaN));

*/

/**

* ==============================================

* 利用简易名称空间,防止污染全局作用域的编码方式

* ==============================================

*/

alert("NaN is NaN: " + isNaN(NaN));

var RootObj = {};//根对象 超简易名称空间

RootObj.fun = function (){

this.isNaN = function(strTemp){

return strTemp;

}

};

RootObj.fun.prototype.name = function(){

return "testName";

}

RootObj.fun();//这样就不怕污染全局作用域了 就是window啦

var obj = new RootObj.fun();

alert("Obj.name:" + obj.name());

alert("NaN is NaN: " + isNaN(NaN));//可以正常使用了

alert("Obj.isNaN:" + obj.isNaN(NaN));

/**

* 转载请注明出处:

* 作者:蓝色随想

* 主页:http://bluethinking.cnblogs.com

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: