2010年2月24日星期三

[note][精品]Javascript编程中的this

this代表当前作用域的对象。看代码1:

name = "Global";
o = {
   name:"Object",
   show:function() {
      alert(name);
      alert(this.name);
   }
}
o.show();

结果为:Global
             Object

看代码2:
function a() {
    alert(this);
}
a();
结果为:[object Window]

看代码3:
function a() {
alert(this);
}
new a();
结果为:[object Object]

new操作符生成了a对象的this指针。只有对象有指针,function没有,代码1是直接赋值了一个对象,所以也有this指针。但是函数的属性name不想Java那样被看成this.name,而是window.name

没有评论: