ホームページ > ウェブフロントエンド > jsチュートリアル > 「this」をいつ使用する必要があるのか​​、なぜ使用する必要があるのか​​。 JavaScript オブジェクト変数で?

「this」をいつ使用する必要があるのか​​、なぜ使用する必要があるのか​​。 JavaScript オブジェクト変数で?

Linda Hamilton
リリース: 2024-12-31 08:38:17
オリジナル
257 人が閲覧しました

When and Why Do You Need to Use

「これ」を使用します。 Javascript オブジェクト変数内

JavaScript では、C とは異なり、変数の前に明示的に「this」を付ける必要があります。それらが属するオブジェクトを参照します。これは、2 つの言語間のオブジェクト指向プログラミングにおける重要な違いです。

JavaScript の "this" キーワードは、関数が呼び出されるオブジェクトである現在のコンテキストを表します。 "this." を付けずに変数を宣言すると、その関数スコープ内のローカル変数になります。関数内からオブジェクトのプロパティにアクセスするには、「this」を使用する必要があります。

次のコードを考えてみましょう:

function foo() {
    bar = 0; // This creates a local variable
    this.getBar = function() { return bar; } // This creates a privileged method
}
ログイン後にコピー

このコードでは、「bar」は「foo」関数内のローカル変数であり、「getBar」はローカル変数にアクセスできる特権メソッド。 「this.」を使用しないと、「getBar」は「bar」にアクセスできません。

「this.」を使用するこのアプローチ。オブジェクト メソッド内からアクセスするすべての変数に必要です。ただし、JavaScript を使用すると、インスタンス オブジェクトの代わりにプロトタイプ オブジェクトにメソッドを定義できます。プロトタイプで定義されたメソッドは、そのオブジェクトのすべてのインスタンスに継承されます。この場合、「this」の使用を避けることができます。それらのメソッドについては。以下に例を示します:

function Foo() {
    this.bar = 0;
}
Foo.prototype.getBar = function() { return this.bar; }
ログイン後にコピー

このコードでは、「getBar」がプロトタイプで定義されているため、「Foo」のインスタンスはこのメソッドを継承し、接頭辞「this」なしで「bar」にアクセスできます。

要するに「これ」を使うということです。インスタンス オブジェクト内で定義された関数/メソッド内からオブジェクト プロパティにアクセスするために不可欠です。ただし、代わりにプロトタイプでメソッドを定義することで回避できます。

以上が「this」をいつ使用する必要があるのか​​、なぜ使用する必要があるのか​​。 JavaScript オブジェクト変数で?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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