JavaScript - setTimeout の使用
phpcn_u1582
phpcn_u1582 2017-07-05 10:42:09
0
2
1095

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

リーリー

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

phpcn_u1582
phpcn_u1582

全員に返信(2)
代言

このコードの意味は、通過したノードが最初に赤で表示され、次に白で表示され、その後次のノードに続くということです。
なぜ 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
三叔

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート