ホームページ >ウェブフロントエンド >フロントエンドQ&A >jqueryでapply()メソッドを使用する方法

jqueryでapply()メソッドを使用する方法

WBOY
WBOYオリジナル
2022-04-24 17:35:322014ブラウズ

jquery では、apply() メソッドを使用して、this ポインタを変更し、現在のオブジェクトを別のオブジェクトに置き換えます。これは、特定のオブジェクトを適用するメソッドです。構文は "apply(thisobj,[argarray ])"; パラメーター argarray は、配列の形式で渡されることを示します。

jqueryでapply()メソッドを使用する方法

このチュートリアルの動作環境: Windows10 システム、jquery3.2.1 バージョン、Dell G3 コンピューター。

jquery で apply() メソッドを使用する方法

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 サイトの他の関連記事を参照してください。

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