为什么第二个警报显示窗口对象,而不是 O(甚至 P)对象?
window.name = "test window";
O = {
name : 'object O',
f : function() {
alert(this.name); // 2nd alert
}
}
P = {
name : 'object P',
f : function() {
alert(this); // 1st alert
var of = O.f;
of();
}
}
P.f();
换句话说,直接调用对象的函数怎么能在窗口的上下文中呢?我想这是一个关闭的问题,但我不知道切换发生在哪里。
谢谢你。