this
次のコードでキーワードが異なる値を表すのはなぜですか?
var t = {
a: "a",
b: {
c: "c",
d: function () {
return this;
}
},
f: function () {
return this;
},
g: this
}
var k = t.f(),
l = t.g;
alert(k); // returns [object object] i.e 't'
alert(l); // returns [object DOMWindow] i.e 'window'