2 番目のアラートで、O (または P) オブジェクトではなく、window オブジェクトが表示されるのはなぜですか?
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();
言い換えれば、ウィンドウのコンテキストでオブジェクトの関数を直接呼び出すにはどうすればよいでしょうか? 閉鎖の問題だと思いますが、スイッチがどこで発生するのかわかりません。
ありがとうございました。