JSのタイマーとタイマーオーバーレイの問題

         武漢は戦争に反対、次の日のパンチカード、武漢の給油をバック分離し、勝ちます!今日、私は問題がjsのシンプルなタイマーについてお話したいと思います。

         1. のsetTimeoutを遅らせ 、指定した時間後に、注意を払うを実装時間を一度だけ

    もちろん、時には我々はディレイ効果を持つタイマーを作りたい、それがかもしれ実行された次のように、それは、繰り返し関数自体を呼び出すことです。 

      楽しいです();    

      楽しい機能(){
        にconsole.log(1)
        のsetTimeout( "楽しい()"、1000); //繰り返し実行自体を呼び出します
      }

  2. のsetIntervalタイマーが明確ではない、ならば、指定した時間間隔内で繰り返さ実行されたダウン

      setInterval 関数{

        コンソールログ1

      } 1000年

  3.それはであることに注目すべきであるsetTimeroutsetInterval、使用、入ってくるパラメータならば、それだけで関数名を渡すことができます。

      setInterval(FN、1000)

  4.次の質問には、次の例を見て、私たちはタイマーの実行の過程にあるとき、あなたは累積タイマーで面白いことを見つけるだろう、次のとおりです。 

    我々は繰り返しブラウザのウィンドウをクリックすると、我々はタイマーが蓄積呼んでいる、その印刷速度は速くあります。    

      時間でした。
      document.onclick =関数(){
        H =のsetInterval(関数(){
          にconsole.log(1)
        }、1000)
      }

    では、なぜこのような状況はありますか?レッツは、例を与える、それが、その後、2人の同等はとてもオリジナルプリントよりも多くのがあるだろう、彼らは同時にある、プリンタを使用する人のように、プリンタ、または2点を使用して毎秒だ2秒ごとに速く回。それでは、どのようにこの問題を解決するには?

    :タイマ蓄積の問題が解決するタイマをクリアし、その後、タイマーを使用します次のようにコード例は以下のとおりです。

      時間でした。
      document.onclick =関数(){
        てclearInterval(H)
        H =のsetInterval(関数(){
          にconsole.log(1)
        }、1000)
      }

    

 

おすすめ

転載: www.cnblogs.com/chysunny/p/12609844.html