jsにおけるthisの役割

下次还敢
リリース: 2024-05-06 13:45:24
オリジナル
698 人が閲覧しました

JavaScript では、これは現在実行中のコードのコンテキスト オブジェクトを指す特別なキーワードです。関数コンテキスト: これはグローバル オブジェクト ウィンドウを指します。メソッド コンテキスト: これは、メソッドが呼び出されるオブジェクトを指します。コンストラクター コンテキスト: これは、作成される新しいオブジェクトを指します。イベント リスナー コンテキスト: イベントをトリガーした要素を指します。アロー関数コンテキスト: これは親スコープから継承されます。

jsにおけるthisの役割

this (JavaScript では)

JavaScript では、this は次のとおりです。現在実行中のコードのコンテキスト オブジェクトを指す特別なキーワード。この値は関数、メソッド、またはオブジェクトを参照する可能性があるため、コンテキストに応じて異なります。

関数コンテキスト

関数コンテキストでは、this は常にグローバル オブジェクト、つまり window を指します。物体。したがって、関数内で this にアクセスすると、グローバル変数と関数にアクセスできます。

<code class="js">function sayHello() {
  console.log(this); // 输出: Window {...}
}</code>
ログイン後にコピー

メソッド コンテキスト

メソッド コンテキストでは、this は常に、メソッドが呼び出されるオブジェクトを指します。これにより、メソッドがオブジェクトのプロパティとメソッドにアクセスできるようになります。

<code class="js">const person = {
  name: "John",
  sayName: function () {
    console.log(this.name); // 输出: John
  },
};</code>
ログイン後にコピー

コンストラクター コンテキスト

コンストラクターは、オブジェクトの作成と初期化に使用される関数です。コンストラクターのコンテキストでは、this は作成される新しいオブジェクトを指します。

<code class="js">function Person(name) {
  this.name = name;
}

const person1 = new Person("John");
console.log(person1.name); // 输出: John</code>
ログイン後にコピー

その他のコンテキスト

これらの主要なコンテキストに加えて、this は次のように使用することもできます:

  • イベント リスナー コンテキスト: イベント リスナーでは、this はイベントをトリガーした要素を指します。
  • アロー関数コンテキスト: アロー関数の this は、親スコープの this を継承します。

注意事項

  • 厳密モー​​ドでは、関数コンテキストで this はグローバル オブジェクトを指しません。グローバル オブジェクトにアクセスしたい場合は、window オブジェクトを使用する必要があります。
  • bind()call()apply() メソッドは、## 値を明示的に設定または変更するために ES6 で導入されました。これの###。

以上がjsにおけるthisの役割の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート