Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie führe ich ein Skript nach einer bestimmten Verzögerung mit JavaScript aus und verhindere Änderungen von Variablenwerten?

Susan Sarandon
Freigeben: 2024-10-31 22:38:02
Original
717 Leute haben es durchsucht

How to Execute Script After Specific Delay Using JavaScript and Prevent Variable Value Changes?

Skript nach einer bestimmten Verzögerung mit JavaScript ausführen

Bei der Suche nach einer JavaScript-Methode analog zu jQuerys „delay()“ oder „wait()“ Funktionen, die eine verzögerte Skriptausführung ermöglichen, erwies sich „setTimeout()“ als zuverlässige Lösung.

Wenn es jedoch darum geht, eine Funktion mit einem Parameter zu einem späteren Zeitpunkt aufzurufen, müssen anonyme Funktionsaufrufe verwendet werden.

Während es verlockend ist, eine Funktion als Argument für einen späteren Aufruf zu übergeben, indem man die Klammern nach ihrem Namen weglässt, hat dieser Ansatz eine Einschränkung:

var a = "world";
setTimeout(alert("Hello" + a), 2000); // Displays "Hello world" immediately
Nach dem Login kopieren

Um eine verzögerte Ausführung sicherzustellen, verwenden Sie entweder a Funktionsname (wie von Flubba demonstriert) oder eine anonyme Funktion, insbesondere bei der Übergabe eines Parameters:

var a = "world";
setTimeout(function() { alert("Hello" + a); }, 2000); // Displays "Hello world" after 2 seconds
Nach dem Login kopieren

Diese Alternative weist jedoch eine Einschränkung auf: Variablen können sich während der Verzögerung ändern und so die Ausgabe der Funktion verändern. Um den ursprünglichen Variablenwert beizubehalten, verwenden Sie eine Rückruffunktion:

function callback(a) {
  return function() {
    alert("Hello" + a);
  }
}
var a = "world";
setTimeout(callback(a), 2000);
a = "Stack Overflow"; // This change won't affect the delayed function
Nach dem Login kopieren

Durch die Einbettung des ursprünglichen Variablenwerts in die Rückruffunktion wird sichergestellt, dass der verzögerte Aufruf mit dem beabsichtigten Wert erfolgt, auch wenn dieser sich geändert hat in der Zwischenzeit.

Das obige ist der detaillierte Inhalt vonWie führe ich ein Skript nach einer bestimmten Verzögerung mit JavaScript aus und verhindere Änderungen von Variablenwerten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage