6

関数が JQuery でチェーンされている場合、操作の順序はどうなりますか?

例 1

$(selector).fun1(val,{fun2(){ }}

例 2

$(selecter).fun1().fun2().fun3() 
4

3 に答える 3

8

左から右へ。fun3()の結果 (=戻り値) に対して実行さfun2()fun2()ますfun1()

連鎖可能な各関数は、それが呼び出されたオブジェクト/要素を返すため、この種の連鎖は JQuery で実行できます。

したがって、実行後に要素を$(selector).fun1()返します。その返された要素から呼び出されます。$(selector)fun2()

于 2010-02-05T12:57:26.653 に答える
6

この例では:

$(selector).fun1(val,{fun2(){ }}

関数 1 の 2 番目のパラメーターは、コールバック関数です。これは、fun1実行してから実行 fun2することを意味します。

この例では:

$(selecter).fun1().fun2().fun3()

アニメーションのように、持続時間があれば、すべての関数はできるだけ早く起動されます。fun1それ以外の場合は、fun2、 、の順に実行されfun3ます。

したがって、アニメーションでは、fun1fun2およびfun3は 3 つの同時オーバーラップ アニメーションになりますが、他の同期操作では、それらは単純に順番に発生します。

于 2010-02-05T13:00:35.587 に答える
0
  1. 「コールバック」機能を使用します。fun2 を引数として fun1 に渡し、fun1 は終了時に fun2 を呼び出します。
  2. これは jQuery の非常に優れた機能です。jQuery のメソッドのほとんどは、メソッドが呼び出された元のオブジェクトを返すため、返されたオブジェクトで別のメソッドを呼び出すことができます。順番は書かれている通りです。
于 2010-02-05T12:58:28.557 に答える