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。
没有评论:
发表评论