ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript でこれが指すものを変更するさまざまな方法

JavaScript でこれが指すものを変更するさまざまな方法

韦小宝
韦小宝オリジナル
2018-03-14 14:44:572608ブラウズ

この記事では、

JavaScript で this ポインターを変更するさまざまな方法について説明します。JavaScript での this ポインターの変更について知らない場合、または JavaScript での this ポインターの変更に興味がある場合は、この記事を見てみましょう。 、ナンセンスはカットして本題に入りましょう

JavaScript におけるこれは、詳細に議論する価値のあるトピックです。以下に、this のポインタを変更する 3 つの一般的な方法をまとめます。まず、関数の概念を明確にします。関数自体は特殊な型であるため、関数は変数ともみなされることを常に理解する必要があります。

1. オブジェクト のメソッドを通じて関数 を定義します (私をバインドする人は誰でも、私はそれを指します)

平たく言えば、この関数がオブジェクトのメソッド (キー) である場合、これは関数はこのオブジェクトを指します。

var a = function(obj) 
{ 
    alert(this == obj); 
} 
var obj = {}; 
obj.fun = a; 
obj.fun(obj); //true

この関数は変数に相当し、オブジェクトにバインドされると、そのポイントがデフォルトの window オブジェクト から obj オブジェクトに変更されます。

2. 関数は新しいもので、新しいオブジェクトを作成します (新しいオブジェクトを指します)

var obj = new a();

object はこのステートメントによって作成され、関数内の this は obj を指します。

3. 呼び出しを通じてこのポインタを変更し、適用します

1.apply メソッド

param1: 関数内で this のポインタを表示します param2: コレクション []

例: 呼び出された関数name .apply(param1, param2);

最初のメソッドの復習

var a = function(o) 
{ 
    alert(this == o); 
} 
var obj = {}; 
obj.fun = a; 
obj.fun(obj); //true

簡単、applyを一文で使うだけ

a.apply(obj,[obj]);

2.callメソッド

param1: show関数のthisのポインタ param2: 2 番目のパラメーターは show 関数の実際のパラメーターで始まります。 例: 呼び出された関数名.call(param1, param2, param3);
詳しく知らない方のために、上記がすべてです。 、両方を自分で簡単にマスターできます。

関連する推奨事項:

JS の 4 つの this 値モード



JavaScript 関数の this の 4 つのバインディング形式

以上がJavaScript でこれが指すものを変更するさまざまな方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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