ホームページ  >  記事  >  ウェブフロントエンド  >  「this」キーワードは jQuery と JavaScript でどのように動作しますか?

「this」キーワードは jQuery と JavaScript でどのように動作しますか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-26 19:41:29348ブラウズ

How Does the

jQuery における "this" は何を意味しますか?

jQuery では、"this" は関数の対象である DOM 要素を表します呼ばれている。これは、複数の要素に作用するイベント コールバックや関数でよく使用されます。例:

<code class="javascript">$("div").click(function() {
  this.style.color = "red";
});</code>

これにより、クリックされた要素の前景色が赤に設定されます。

JavaScript では一般的に

JavaScript では、「this」 " は、関数を呼び出しているオブジェクトを指します。これは、関数の定義場所ではなく、関数の呼び出し方法によって決まります。

<code class="javascript">var obj = {
  firstName: "Fred",
  foo: function() {
    alert(this.firstName);
  }
};

obj.foo(); // alerts "Fred"</code>

この例では、foo が呼び出されたときに、「this」が obj に設定されます。ただし、「this」の値は、グローバル オブジェクト (ブラウザのウィンドウ) を含む任意のオブジェクトにすることができます。

<code class="javascript">f(); // Probably alerts "undefined"

//... Later

var obj = {
  firstName: "Wilma"
};

f = obj.foo;
f(); // alerts "Wilma"</code>

上記の例では、f は foo 関数への参照です。 f がオブジェクト プロパティなしで呼び出された場合、「this」はデフォルトでグローバル オブジェクトになります。

ES5 Strict Mode

ES5 Strict モードでは、「this」には任意のオブジェクトを含めることができます。非オブジェクトを含む値。 "this" が明示的に設定されていない場合は、デフォルトで未定義になります。

<code class="javascript">"use strict";

function test(msg) {
    console.log("[Strict] " + msg + "; typeof this = " + typeof this);
}

test(); // typeof this = undefined
test.call(5); // typeof this = number</code>

通常 (非厳密) モードでは、これらの呼び出しはすべて typeof this = object を返します。

以上が「this」キーワードは jQuery と JavaScript でどのように動作しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。