.apply jQuery関数とは何ですか?


回答:


125

apply一連の引数を使用して関数を呼び出します。これはjQueryの一部ではなく、コアJavascriptの一部です。ただし、jQueryのドキュメントでそれについて言及されています。

http://docs.jquery.com/Types#Context.2C_Call_and_Apply

構文:

somefunction.apply(thisObj, [argsArray])

上記は関数を呼び出し、関数のスコープ内somefunctionに設定thisthisObj、関数の引数としてから引数を渡しargsArrayます。


2
関連するのは[ .call()関数 ](mdn.beonex.com/en/Core_JavaScript_1.5_Reference/Global_Objects/…)でもありますがthis、その後に、引数を含む配列の代わりに一連の個別にリストされた引数が続きます。
Peter Ajtai

以下は何をしますか?$ .when.apply(null、object).done(callback);
Gohel Kiran 2013

@ user1531437を呼び出します$.when(object).done(callback);が、関数$.whenthisは、最初のパラメータ、つまりに設定されますnull。間違いなく、$.when.call(null, object).done(callback);2番目のパラメータは.apply配列であるはずなので、1つを使用する必要があります
Luke Madhanga

遠くに関連しているのは、jQueryプロキシ関数でした。これはthis、Javascriptのネイティブapplyが実行できる方法であるコンテキスト変数の値を変更するのに役立ちます
The Red Pea

5

基本的に、applyは、関数を適用するオブジェクトに設定されたコンテキストで関数を呼び出します。つまり、関数内では、参照thisはそのオブジェクトを参照します。


jQueryを操作してこの回答に到達した場合は、を使用$(this)して、関連するjQueryオブジェクトを取得し、jQueryメソッドにアクセスする必要があります。
R. Schreurs

@ R.Schreursまた、次のようにjQuery.fnオブジェクトを使用する必要があります:stackoverflow.com/a/27374435/674033
AVProgrammer
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.