Heim  >  Artikel  >  Web-Frontend  >  Erklären Sie, wie Timer in JavaScript funktionieren

Erklären Sie, wie Timer in JavaScript funktionieren

WBOY
WBOYnach vorne
2023-08-25 10:05:02783Durchsuche

解释 JavaScript 中定时器的工作原理

In JavaScript sind Timer eine sehr bemerkenswerte Funktion. Wie bei einem normalen Uhrentimer können wir den Timer zu einem bestimmten Zeitpunkt starten und nach einer bestimmten Zeit eine Funktion oder einen Code in JavaScript ausführen.

Einfach ausgedrückt können wir einen Timer verwenden, um Code nach einer Verzögerung auszuführen. Wenn Sie beispielsweise eine Website besuchen, wird die Registrierungsbox nach 3 bis 4 Minuten angezeigt. Dies können wir mithilfe von JavaScript erreichen. Wir können einen Verzögerungstimer einstellen, um das Registrierungs-Popup anzuzeigen.

Ein weiteres großartiges Beispiel für einen Timer im wirklichen Leben ist In-App-Werbung. Wenn Sie eine App öffnen, beginnt sie nach 2 bis 3 Minuten mit der Anzeigenschaltung und wechselt die Anzeigen in Abständen von 1 bis 2 Minuten.

Es gibt also in JavaScript zwei verschiedene Funktionen zum Einstellen von Timern, die wir in diesem Tutorial untersuchen werden.

Verwenden Sie die Funktion setTimeOut(), um Code nach einer bestimmten Zeit auszuführen

Die Funktion

setTimeOut() ermöglicht es uns, Code nach einer bestimmten Verzögerung auszuführen. Es ermöglicht uns jedoch, Verzögerungen zu definieren. Der Code wird nach einer bestimmten Verzögerung nur einmal ausgeführt.

Wenn die Funktion setTimeOut() ausgeführt wird, startet sie den Timer und führt die Rückruffunktion nach einer bestimmten Verzögerung aus.

Grammatik

Benutzer können die Funktion setTimeOut() gemäß der folgenden Syntax verwenden.

let timeoutId = setTimeout(callback, delay);

In der obigen Syntax kann die Callback-Funktion auch als Pfeilfunktion ausgeführt werden.

Parameter

  • Callback – Dies ist eine Funktion, die nach einer Verzögerungszeit ausgeführt wird.

  • Verzögerung – Verzögerung ist die Zeit (in Millisekunden), nach der die Callback-Funktion ausgeführt wird.

Rückgabewert

Die Funktion

setTimeOut() gibt eine eindeutige ID zurück, mit der wir den Timer beenden können.

Beispiel

Wenn der Benutzer im folgenden Beispiel auf die Schaltfläche „Timer starten“ klickt, wird die Funktion callTimer() aufgerufen. Der Benutzer kann sehen, dass „callTimer-Funktion zuerst ausgeführt“ gedruckt wird. Nach 2000 Millisekunden wird „Diese Funktion wird nach einer Verzögerung ausgeführt“ gedruckt, da die Funktion setTimeOut() die Rückruffunktion nach 2000 Millisekunden aufruft.

<html>
   <body>
      <h2> Using the setTimeOut() function </h2>
      <div id = "output"> </div>
      <button id = "btn" onclick = "callTimer()"> Start Timer </button>
      <script>
         let output = document.getElementById("output");
         output.innerHTML += "Program execution started </br>";
         function callTimer() {
            output.innerHTML = "The callTimer function executed  <br/>";
            setTimeout(callback, 2000);
         }
         function callback() {
            output.innerHTML += "This function executed after some delay.";
         }
      </script>
   </body>
</html>

Verwenden Sie die Funktion setInterval(), um die Funktion nach jedem Zeitintervall auszuführen

Die Funktion

setTimeOut() führt die Callback-Funktion nur einmal aus, aber die Funktion setInterval() führt den Code nach jedem Zeitintervall aus, das wir als zweites Argument an setInterval() übergeben.

Grammatik

Benutzer können die Funktion setInterval() gemäß der folgenden Syntax verwenden.

setInterval(callback, interval)

Parameter

  • Callback – Dies ist die Funktion, die die Funktion setInterval() nach jedem Zeitintervall aufruft.

  • Intervall – Die Zeit in Millisekunden, nach der die Callback-Funktion nach jedem Intervall aufgerufen wird.

Rückgabewert

Die Funktion setInterval() gibt wie die Funktion setTimeout() auch eine eindeutige ID zurück, mit der wir den Timer stoppen können.

Beispiel

In diesem Beispiel verwenden wir die Funktion setInterval(), um die Callback-Funktion alle 1000 Millisekunden aufzurufen. Der Benutzer kann beobachten, dass beim Drücken der Start-Timer-Taste die Funktion startInterval() ausgeführt und die Funktion setInterval() aufgerufen wird. Die Funktion setInterval() ruft die Callback-Funktion einmal pro Sekunde auf.

<html>
   <body>
      <h2> Using the <i> setInterval() </i> function </h2>
      <div id = "output"> </div>
      <button id = "btn" onclick = "startInterval()"> Start Timer </button>
      <script>
         let output = document.getElementById("output");
         let count = 0;
         output.innerHTML += "Program execution started </br>";
         
         // when user clicks on the button, startInterval() function will be called
         function startInterval() {
            output.innerHTML = "The callTimer function executed <br/>";
            
            // the setInterval() function will call the callback function after every second.
            setInterval(callback, 1000);
         }
         function callback() {
            output.innerHTML += "This function executed for " + count + " time </br>";
            
            // update the count to track of howmany times a callback is called.
            count = count + 1;
         }
      </script>
   </body>
</html>

Verwenden Sie die Funktionen „clearTimeOut()“ und „clearInterval()“, um den Timer zu beenden

Nachdem wir den Timer gestartet haben, müssen wir ihn auch stoppen. Wir können die Funktion „clearTimeOut()“ verwenden, um die Funktion „setTimeOut()“ zu stoppen, und die Funktion „clearInterval()“, um die Funktion „setInterval()“ zu stoppen.

Grammatik

// To stop the setTimeOut() function
clearTimeout(TimerId);

// To stop the setInterval() function
clearInterval(TimerId);

Parameter

  • TimerId – Dies ist die eindeutige ID, die von der Funktion setTimeOut() oder setInterval() zurückgegeben wird.

Beispiel

Im folgenden Beispiel verwenden wir die Timerfunktion setInterval(), um die Funktion jede Sekunde aufzurufen. Darüber hinaus verfolgen wir, wie oft die Funktion setInterval() die Callback-Funktion aufruft.

In der Rückruffunktion verwenden wir eine if-Anweisung, um zu prüfen, ob die Anzahl größer als 3 ist, und verwenden die Funktion „clearInterval()“, um den Timer zu beenden.

<html>
   <body>
      <h2> Using the <i> clearInterval() </i> function </h2>
      <div id = "output"> </div>
      <button id = "btn" onclick = "startInterval()"> Start Timer </button>
      <script>
         let output = document.getElementById("output");
         let count = 0;
         let TimerId = "";
         function startInterval() {
            TimerId = setInterval(() => {
               output.innerHTML += "count = " + count + "<br/>";
               count += 1;
               if (count > 3) {
                  clearInterval(TimerId);
               }
            }, 1000);
         }
      </script>
   </body>
</html>

In der obigen Ausgabe kann der Benutzer beobachten, dass gedruckt wird, bis count = 3 ist, denn wenn der count größer als 3 ist, beenden wir den Timer.

Das obige ist der detaillierte Inhalt vonErklären Sie, wie Timer in JavaScript funktionieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen