1

私はこの質問がおそらくJavascript関数が一般的にどのように動作するか(そして私の特定の場合だけでなく)に行くことを認識していますが...

ドキュメントレディがどのように機能するのか知りたい...うーん...機能する。様式化された形式では、次のようになります。

$(function () {
    object1.init();
    object2.init();
    object3.init(); etc...

object2.init()は、object1.init()が戻ったときにのみ起動しますか?それとも、それらはすべて非同期の方法で起動しますか?

更新:それらが連続して起動する場合、それらを同時に実行させる方法はありますか(おそらく実行する必要はありません)?

ありがとう。

4

2 に答える 2

3

object2.init()は、object1.init()が戻ったときにのみ起動しますか?それとも、それらはすべて非同期の方法で起動しますか?

object2.init()は、object1.init()が戻ったときにのみ起動します。
すべての関数はキューに格納され、次々に実行されます。

それらを同時に発射させる方法はありません。
jQueryだけでなく、javascriptは並列プログラミングをサポートしていません。


jQueryのソースコードを見ることができます:

更新:答えがミニjQueryソースコードになったため、実際のコードを削除しました...)

// Handle when the DOM is ready
ready: function(wait) {
    ...

// Call all callbacks with the given context and arguments
fireWith: function(context, args) {
    ...

jQuery.Callbacks = function( flags ) {  
    ...

// The deferred used on DOM ready
readyList,

jQueryソースコードでこれらの関数と変数を確認してください

于 2012-05-06T09:57:02.597 に答える
2

順次実行されます。

の1つがinit()非同期呼び出しを行う場合、それは明らかに非同期になりますが、各関数(または実際には任意の行)が順番に実行されます。

于 2012-05-06T09:58:33.077 に答える