ここで完全な悪夢を見て、なぜオブジェクトなのかを自分自身に説明するのに苦労していthis
ますwindow
?
(function () {
function get () {
alert(this);
}
get();
})();
関数がJSでスコープを作成したことは私の理解でしたが、なぜこれがwindow
オブジェクトを参照するのですか?
ここで完全な悪夢を見て、なぜオブジェクトなのかを自分自身に説明するのに苦労していthis
ますwindow
?
(function () {
function get () {
alert(this);
}
get();
})();
関数がJSでスコープを作成したことは私の理解でしたが、なぜこれがwindow
オブジェクトを参照するのですか?
this
Javascriptでの判定ルール優先順位:
new
、たとえばvar a = new method()
、で呼び出されthis
、新しい空のオブジェクトになります。call
関数は、 、apply
、またはを使用して特定のコンテキストで明示的に呼び出され、が使用されたコンテキストになります (たとえば、が発生bind
します) 。this
method.call(y)
this
y
x.method()
が発生this
しますx
) 。this
は、他のルールが満たされない場合、デフォルトでグローバル オブジェクトになります。厳密モードでthis
は、未定義になります。