var a = function() {
alert( this ); // [object Window]
alert( a ); // undefined
}.call( a );
なぜthis
まだウィンドウオブジェクトを参照し、a
未定義なのですか。あるいは、次のようにthis
すると、関数a
は未定義ではありません。
var a = function() {
return this === a; // true
};
a.call(a);
一見同等に見えるこれらの2つの関数が異なる結果をもたらす理由を誰かが説明できますか?