検索

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

JavaScript - setTimeout の使用

http://ife.baidu.com/course/d...
私は Baidu Front-End Academy からの質問に取り組んでいます。リンクは上記のとおりです。トピックは、バイナリ ツリー トラバーサルの実装です。 js コードは次のとおりです:

リーリー

コードにエラーはありませんが、setTimeout の時間に timer =100 が使用される理由が理解できません?
100 を直接使用できないのはなぜですか?
困惑しています。フロントエンド初心者さん、アドバイスお願いします!

phpcn_u1582phpcn_u15822697日前1070

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

  • 代言

    代言2017-07-05 10:44:09

    このコードの意味は、通過したノードが最初に赤で表示され、次に白で表示され、その後次のノードに続くということです。
    なぜ 100 ではなく +=100 なのでしょうか?
    今のところは非同期を無視します。簡単に言うと
    関数の実行にはほんの一瞬しかかからず、走査は完了しています: 関数の実行時点が 0 秒の場合、すべての setTimeout(xxx, 100) は 0.1 秒後になります (タスク キューに追加され、実際の実行の詳細が表示されます)。時間は必ずしも 0.1 秒まで正確であるとは限りませんが、これは重要ではないため、括弧を理解する必要はありません。後でわかります。 )
    setTimeout()が一瞬で完了するということです(jsは何もしない感じです)

    すると、+=100

    setTimeout(xxx,100)

    setTimeout(xxx,200)
    setTimeout(xxx,300) を意味します.... これらは約 0.1 秒ごとに実行されます

    別の穴を開けて、後で埋めます

    返事
    0
  • 三叔

    三叔2017-07-05 10:44:09

    timer+=100 は、一定の時間間隔を保持し、明らかな効果を持つノード トラバーサルのプロセスを確認できるようにするためかもしれません。

    返事
    0
  • キャンセル返事