从书上看到作用域内的this指向作用域的调用对象,但是下面这个情况让我很不解
var x1=7;
var t={
x1:2,
x2:{x3:this.x1}
};
alert(t.x2.x3);//为什么这里输出7,按理说调用x2的是t啊,本以为this应该指向t,但是事实上this指向了windowvar y={
x1:2,
x2:function(){return this.x1}
};
alert(y.x2());//这里输出2我知道原因,是因为调用x2的对象是y所以this指向y
调试欢乐多
x1:2,
x2:{x3:this.x1}
};我的理解.x2 是一个 object x2 的 this.x1; 在 x2 内未定义. 所以就引用了 window.x1(全局) ,所以值是 7 了.