Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie kann ich Parameter an mit setTimeout verzögerte Funktionen übergeben?

Susan Sarandon
Freigeben: 2024-11-03 07:52:02
Original
543 Leute haben es durchsucht

How Can I Pass Parameters to Functions Delayed with setTimeout?

JavaScript-Skriptausführung mit setTimeout verzögern

Mit der setTimeout-Methode von JavaScript können Sie ein Skript nach einer angegebenen Verzögerung ausführen. Im Gegensatz zu „delay()“ oder „wait()“ von jQuery verwendet setTimeout direkt eine Rückruffunktion als Argument und legt eine Verzögerung in Millisekunden fest.

Asynchrone Ausführung mit setTimeout

Wenn Sie Wenn Sie eine Funktion als Argument an setTimeout übergeben, wird die Ausführung nach der angegebenen Verzögerung geplant. Dieses asynchrone Verhalten stellt sicher, dass die Ausführung des Skripts nicht blockiert wird, sodass andere Teile des Programms fortfahren können.

Parameter an verzögerte Funktionen übergeben

Wenn Sie Parameter übergeben müssen Zur verzögerten Funktion können Sie entweder eine benannte Funktion oder eine anonyme Funktion verwenden. Beachten Sie jedoch Probleme mit dem Variablenbereich, wenn Sie anonyme Funktionen verwenden.

Um sicherzustellen, dass in der Gegenwart übergebene Parameter im Gültigkeitsbereich der verzögerten Funktion erhalten bleiben, erstellen Sie eine Funktion, die eine neue Funktion zurückgibt, die die gewünschten Parameter akzeptiert. Dadurch werden die Parameterwerte gekapselt und die verzögerte Funktion kann später auf sie zugreifen.

Beispiel mit Variablenbereich

<code class="js">var a = "world";
setTimeout(alert("Hello " + a), 2000); // Calls alert immediately</code>
Nach dem Login kopieren

Einkapselung von Parametern mit einer anonymen Funktion

<code class="js">var a = "world";
setTimeout(function() { alert("Hello " + a); }, 2000); // Calls alert after 2 seconds with 'Hello world'</code>
Nach dem Login kopieren

Einkapseln von Parametern mit einer Funktion, die zurückgibt eine Funktion

<code class="js">function callback(param) {
  return function() {
    alert("Hello " + param);
  };
}

var a = "world";
setTimeout(callback(a), 2000); // Calls alert after 2 seconds with 'Hello world'</code>
Nach dem Login kopieren

Dies ermöglicht Ihnen die Übergabe von Parametern an verzögerte Funktionen und stellt sicher, dass diese trotz aller zwischenzeitlich vorgenommenen Änderungen am Variablenbereich ihre korrekten Werte behalten.

Das obige ist der detaillierte Inhalt vonWie kann ich Parameter an mit setTimeout verzögerte Funktionen übergeben?. 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