検索

ホームページ  >  に質問  >  本文

javascript - jsのforループ内のコードは実行されていませんが、次のコードは実行されますか?

次のコードは正常に実行できますが、[方法 2] はエラーの報告を避けるためにタイマーを追加する必要があります。論理的に言えば、JS は次の [方法 2] を実行する前に [方法 1] コードを実行すべきではありませんか? タイミングは次のとおりです。使用されていません [方法 2]

を実行する前に [方法 1] が完全に実行されていることを確認する他の方法はありますか?


関数のオンライン デモ: http://bbs2.valueonline.cn/we...
デモのダウンロード: http://pan.baidu.com/s /1dEHPTV7

メインJSコード:

リーリー
滿天的星座滿天的星座2776日前1171

全員に返信(3)返信します

  • 怪我咯

    怪我咯2017-05-19 10:16:33

    js 自体は非同期であり、厳密な順序で実行する必要があります:

    1. コールバック関数;

    2. 約束/譲歩
    3. async / await (es5 との互換性が必要);
    4. async.js ライブラリの紹介;

    5. 返事
      0
  • PHP中文网

    PHP中文网2017-05-19 10:16:33

    js はシングルスレッドです。つまり、1 つの実行が完了すると、次の実行が実行されます。
    前述の 2 つの関数のように、遅いステートメントが発生すると、上から下に実行されます。上から下の順に実行されるわけではありません。
    解決策は上記の友人の回答にあるとおりです
    最も簡単な方法はコールバック関数を書くことです。これは、2つの関数の実行順序を制御することです

    関数 b がパラメータの形式で関数 a に渡され、関数 b はコールバック関数と呼ばれます。

    bはaの最後に置かれます。aが実行された後、b
    以降が再度実行されます

    返事
    0
  • phpcn_u1582

    phpcn_u15822017-05-19 10:16:33

    最初に次のコードを実行します
    jquery Ready を使用してからコード 1 を実行します

    返事
    0
  • キャンセル返事