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