专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Javascript教程 » javascriptwindow:Javascript 陷阱 window全局对象 »正文

javascriptwindow:Javascript 陷阱 window全局对象

来源: 发布时间:星期四, 2008年12月25日 浏览:33次 评论:0
function Test{
this.name='Test';
var name=2;
this.show=function{
alert(name);
alert(this.name);//显示名字
}
}
var test= Test;//通过构造器创建个对象
test.show;//输出2和'Test' ,介绍说明对象思路方法访问其属性时必须加this.
function Test2{
this.name='Test2';
this.show=function{
alert(name);
alert(this.name);
}
}
Test;//直接Test;
var test2= Test2;
test2.show;//输出了Test,Test2,很奇怪啊name问什么有值了而且如何会是'Test',bug?
alert(name);
window.show; //输出2,test;如何会有show呢,难道是bug
//依次输出2,Test;Test,Test2;Test;2,Test
// ff和ie6下都是同样运行结果,看来不是bug,那究竟是为什么呢?
// 注意到:对象思路方法访问其对象属性时|必须|加以this.(和java不样).
// 整个页面是默认是|window|对象,那么定义默认就是window对象思路方法
//直接直接相当于通过window.思路方法那么思路方法内部this自然就是\
//window对象,this.name='Test'就是为window对象加了个属性.
// 那么当思路方法局部作用域内未定义name且alert(name)就相当于alert(window.name);
/*啊代码混乱了这看起来像个很严重陷阱!!*/
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: