jquery では、apply() メソッドを使用して、this ポインタを変更し、現在のオブジェクトを別のオブジェクトに置き換えます。これは、特定のオブジェクトを適用するメソッドです。構文は "apply(thisobj,[argarray ])"; パラメーター argarray は、配列の形式で渡されることを示します。
このチュートリアルの動作環境: Windows10 システム、jquery3.2.1 バージョン、Dell G3 コンピューター。
call() メソッドと apply() メソッドには同じ効果があり、this ポインタを変更します。
具体的な構文:
apply(thisobj,[argarray])
apply() メソッドと call() メソッドは似た機能を持っています。違いはパラメータ転送形式にあります。apply() メソッドにはパラメータが 2 つだけあります。 thisobj パラメータは call() パラメータと同じです。call() メソッドでの使用法も同じです。2 番目のパラメータ argarray は配列の形式で渡されます。これは call() とは異なります。thisobj に加えて、call() は複数の個別のパラメータを渡すことができます。
2 つの方法はパラメータの構成が若干異なりますが、機能は似ています。
call メソッドの呼び出しオブジェクトは通常関数であり、関数自体もオブジェクトです。
最初のパラメータ thisobj は、関数オブジェクトの新しいコンテキストです。thisobj オブジェクトによっては、関数の実行コンテキストが異なる場合があります。thisobj パラメータが渡されない場合、デフォルトのコンテキストはグローバル ウィンドウです.
例は次のとおりです:
例:
<script> var a = 1, b = 1; function add(a, b) { alert(this.a + this.b); } var s = {}; s.a = 5; s.b = 1; add.call(); //alert(2) add.call(s, 3, 1); //alert(6) </script>
add.call() は thisobj パラメータを渡しません。この関数の追加ポイントは次のとおりです。ウィンドウに表示され、出力結果は 2.
add.call(s,3,1) です。 thisobj パラメータが s に渡されると、関数 add の this は s を指すため、出力結果は 6 になります。
function add(c, d){ return this.a + this.b + c + d; } var o = {a:1, b:3}; add.call(o, 5, 7); // 1 + 3 + 5 + 7 = 16 this指向o add.apply(o, [10, 20]); // 1 + 3 + 10 + 20 = 34 this指向o
関連ビデオ チュートリアルの推奨事項: jQuery ビデオ チュートリアル
以上がjqueryでapply()メソッドを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。