javascript - setTimeoutの実行時間の問題について
滿天的星座
滿天的星座 2017-06-14 10:54:39
0
2
798

A

リーリー

A2

リーリー

B

リーリー

C (クロージャを使用)

リーリー ###質問:###

1.

A と A2

の時間設定の i*3000i の値は何ですか? (1?)、時間が 3000 のままで、i 値と一緒に計算されないのはなぜですか? クロージャ (C) を使用した後も含めて、依然として 3000 ミリ秒ごとにポップアップします。 2.

A と B

の違いは何ですか? i*30003000console ポップアップの違い、この違いは C クロージャ にも反映されます。なぜこのような違いがあるのでしょうか? JS のキュー実行構造を以前見たことがあり、setTimeout などの関数は他のコードが実行されるのを待ってから実行を開始する必要があることは知っていますが、setTimeout が複数ある場合は、その長さに応じて優先順位が付けられます。時間設定(設定時間が短くなります)を進めます)。なぜこれほどの違いがあるのか​​本当にわかりません、そしてまだ理解できません - -

リーリー

まだ 3 秒ごとに

console

が表示されますが、num* を削除すると、一度に表示されます。乗算演算を行っていませんか?

滿天的星座
滿天的星座

全員に返信(2)
学霸
  1. setTimeout每隔3000ms弹出一个的话,时间不应该是3000,6000,9000,12000吗,你是不是跟setInterval搞混了。
    然后再说一点setTimeout(fn,time),这是个函数的执行,setTimeout的创建与主js是同步的(这个时候time的值就已经确定了),异步的是其中的fn的执行(执行的时候再去找内部的i或者numは閉鎖などの影響を軽減します)。

  2. サイトでイベントループjsを検索すると、繰り返しの質問や説明がたくさんあるはずです。

いいねを押す +0
左手右手慢动作

setTimeout的延迟是相对于你运行它的那一刻,你这个forすべての遅延を一度にループして設定します。最初の遅延は現在時刻に対して 3 秒、2 番目は現在時刻に対して 6 秒、3 番目は現在時刻に対して 9 秒です。等々。結局、3秒ごとに出力に反映されてるんじゃないでしょうか…

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