惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
B
Blog RSS Feed
博客园_首页
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Google DeepMind News
Google DeepMind News
D
Docker
Blog — PlanetScale
Blog — PlanetScale
M
MIT News - Artificial intelligence
C
Check Point Blog
The Cloudflare Blog
T
Tailwind CSS Blog
大猫的无限游戏
大猫的无限游戏
量子位
The GitHub Blog
The GitHub Blog
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
T
The Blog of Author Tim Ferriss
博客园 - 【当耐特】
Vercel News
Vercel News
P
Proofpoint News Feed
Hugging Face - Blog
Hugging Face - Blog
V
V2EX
博客园 - 司徒正美

博客园 - 蓝色随想

萨缪尔·摩尔斯诞辰 [摩尔斯电码或称摩斯密码的创立者] poi 3.2 SecurityException HPSFException signer information does not match signer information of other classes in the same package - 蓝色随想 some useful words [随笔]无题 [歌曲]蒲公英的约定 —— 周杰伦 [歌曲]会呼吸的痛 —— 梁静茹 [转]随便说说字符集和编码 - 蓝色随想 - 博客园 [转]MD5简介 Java资源包处理类ResourceBundle某些细节 - 蓝色随想 - 博客园 [转]标准代码页列表 [转][经典]What is the right thing to do? 生日快乐 [漫画]向左走 向右走 Table of ASCII Characters [原]IIS 和 Tomcat 整合步骤 [转]李商隐《嫦娥》赏析 《长大的故事》主题曲 Windows操作系统发展历史专题[转] 常用的英语经典语句
论Javascript如何防止污染全局作用域 - 蓝色随想 - 博客园
蓝色随想 · 2007-11-01 · via 博客园 - 蓝色随想

/*
  * ==============================================
  * 会污染全局作用域的编码方式
  * ==============================================
  
*//* 
  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
   
*/