Heim > Web-Frontend > js-Tutorial > „setTimeout' und „setInterval' in JavaScript verstehen

„setTimeout' und „setInterval' in JavaScript verstehen

WBOY
Freigeben: 2024-07-17 19:23:10
Original
1025 Leute haben es durchsucht

Understanding `setTimeout` and `setInterval` in JavaScript

JavaScript bietet mehrere Möglichkeiten, Zeitereignisse zu verarbeiten, und zwei der am häufigsten verwendeten Methoden sind setTimeout und setInterval. Mit diesen Funktionen können Sie die Codeausführung nach einer bestimmten Zeitspanne oder wiederholt in regelmäßigen Abständen planen. In diesem Artikel untersuchen wir die Funktionsweise dieser Funktionen und stellen praktische Beispiele zur Veranschaulichung ihrer Verwendung bereit.

setTimeout

Die setTimeout-Funktion wird verwendet, um eine Funktion oder einen Codeabschnitt einmal nach einer angegebenen Verzögerung auszuführen. Die Syntax für setTimeout lautet wie folgt:

setTimeout(function, delay, [arg1, arg2, ...]);
Nach dem Login kopieren
  • Funktion: Die auszuführende Funktion oder der Code.
  • Verzögerung: Die Zeit in Millisekunden, die gewartet werden muss, bevor die Funktion ausgeführt wird.
  • [arg1, arg2, ...]: Optionale Argumente, die an die Funktion übergeben werden, wenn sie ausgeführt wird.

Beispiel 1: Grundlegende Verwendung

function sayHello() {
  console.log('Hello, World!');
}

setTimeout(sayHello, 2000); // Outputs "Hello, World!" after 2 seconds
Nach dem Login kopieren

In diesem Beispiel wird die Funktion sayHello einmal nach einer Verzögerung von 2 Sekunden ausgeführt.

Beispiel 2: Übergabe von Argumenten

function greet(name) {
  console.log('Hello, ' + name + '!');
}

setTimeout(greet, 2000, 'Alice'); // Outputs "Hello, Alice!" after 2 seconds
Nach dem Login kopieren

Hier übergeben wir das Argument „Alice“ an die Begrüßungsfunktion, die nach einer Verzögerung von 2 Sekunden ausgeführt wird.

Beispiel 3: Verwendung anonymer Funktionen

setTimeout(function() {
  console.log('This is an anonymous function!');
}, 3000); // Outputs "This is an anonymous function!" after 3 seconds
Nach dem Login kopieren

Sie können anonyme Funktionen auch direkt in setTimeout verwenden.

setInterval

Die setInterval-Funktion wird verwendet, um eine Funktion oder einen Codeabschnitt wiederholt in bestimmten Intervallen auszuführen. Die Syntax für setInterval ähnelt setTimeout:

setInterval(function, interval, [arg1, arg2, ...]);
Nach dem Login kopieren
  • Funktion: Die auszuführende Funktion oder der Code.
  • Intervall: Die Zeit in Millisekunden zwischen jeder Ausführung.
  • [arg1, arg2, ...]: Optionale Argumente, die bei jeder Ausführung an die Funktion übergeben werden.

Beispiel 1: Grundlegende Verwendung

function sayHello() {
  console.log('Hello, World!');
}

setInterval(sayHello, 1000); // Outputs "Hello, World!" every 1 second
Nach dem Login kopieren

In diesem Beispiel wird die Funktion sayHello jede Sekunde ausgeführt.

Beispiel 2: Übergabe von Argumenten

function greet(name) {
  console.log('Hello, ' + name + '!');
}

setInterval(greet, 1000, 'Alice'); // Outputs "Hello, Alice!" every 1 second
Nach dem Login kopieren

Hier übergeben wir das Argument „Alice“ an die Begrüßungsfunktion, die jede Sekunde ausgeführt wird.

Beispiel 3: Verwendung anonymer Funktionen

setInterval(function() {
  console.log('This is an anonymous function!');
}, 2000); // Outputs "This is an anonymous function!" every 2 seconds
Nach dem Login kopieren

Sie können anonyme Funktionen auch direkt in setInterval verwenden.

Timer löschen

Sowohl setTimeout als auch setInterval geben eine Timer-ID zurück, die bei Bedarf zum Löschen der Timer verwendet werden kann. Dies erfolgt mithilfe der Funktionen „clearTimeout“ bzw. „clearInterval“.

Beispiel: setTimeout löschen

const timeoutId = setTimeout(function() {
  console.log('This will not run.');
}, 5000);

clearTimeout(timeoutId); // Cancels the timeout
Nach dem Login kopieren

Beispiel: setInterval löschen

const intervalId = setInterval(function() {
  console.log('This will run only once.');
}, 1000);

setTimeout(function() {
  clearInterval(intervalId); // Stops the interval after 3 seconds
}, 3000);
Nach dem Login kopieren

In diesem Beispiel wird die Funktion „clearInterval“ nach 3 Sekunden aufgerufen, wodurch die wiederholte Ausführung der Funktion gestoppt wird.

Praktische Anwendungsfälle

1. Entprellen mit setTimeout

Entprellen ist eine Technik, um die Geschwindigkeit zu begrenzen, mit der eine Funktion ausgeführt wird. Beispielsweise können Sie setTimeout verwenden, um ein Sucheingabefeld zu entprellen:

let timeoutId;

function debounceSearch(query) {
  clearTimeout(timeoutId);
  timeoutId = setTimeout(function() {
    // Perform search operation
    console.log('Searching for:', query);
  }, 300);
}

document.getElementById('searchInput').addEventListener('input', function(event) {
  debounceSearch(event.target.value);
});
Nach dem Login kopieren

2. Erstellen eines einfachen Timers mit setInterval

let seconds = 0;

function updateTimer() {
  seconds++;
  console.log('Timer:', seconds);
}

const timerId = setInterval(updateTimer, 1000);

// Stop the timer after 10 seconds
setTimeout(function() {
  clearInterval(timerId);
  console.log('Timer stopped');
}, 10000);
Nach dem Login kopieren

Abschluss

Das Verständnis von setTimeout und setInterval ist für die Verwaltung zeitgesteuerter und wiederholter Aktionen in JavaScript von entscheidender Bedeutung. Mit diesen Funktionen können Sie Aufgaben wie das Entprellen von Benutzereingaben, das Erstellen von Timern und das Ausführen regelmäßiger Updates erledigen. Wenn Sie diese Tools beherrschen, können Sie reaktionsfähigere und effizientere Webanwendungen erstellen.

Das obige ist der detaillierte Inhalt von„setTimeout' und „setInterval' in JavaScript verstehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage