Heim >Web-Frontend >js-Tutorial >Wie übergebe ich Funktionen als Parameter in JavaScript ohne sofortige Ausführung?

Wie übergebe ich Funktionen als Parameter in JavaScript ohne sofortige Ausführung?

DDD
DDDOriginal
2024-11-28 08:19:10976Durchsuche

How to Pass Functions as Parameters in JavaScript Without Immediate Execution?

Funktionen als Parameter in JavaScript übergeben

In JavaScript ist es möglich, Funktionen als Parameter an andere Funktionen zu übergeben, ohne sie vorzeitig aufzurufen. Dies kann nützlich sein, wenn Sie die Ausführung einer Funktion auf einen späteren Zeitpunkt verschieben möchten.

Problem:

Bei der Übergabe einer Funktion als Parameter wird sie Es ist wichtig, eine sofortige Ausführung zu vermeiden. Der folgende Code führt beispielsweise „refreshContactList()“ aus, wenn er als Parameter an addContact() übergeben wird:

addContact(entityId, refreshContactList());

Lösung:

Um eine Funktionsreferenz zu übergeben Ohne sie auszuführen, entfernen Sie einfach die Klammern:

addContact(entityId, refreshContactList);

Mit dieser Technik können Sie die Funktion als Parameter übergeben, ohne sie auszulösen seine Anrufung. Hier ist ein Beispiel, das zeigt, wie eine Funktion als Parameter übergeben und später ausgeführt wird:

function addContact(id, refreshCallback) {
    refreshCallback(); // Execute the function passed as the second parameter
}

function refreshContactList() {
    alert('Hello World');
}

addContact(1, refreshContactList);

In diesem Beispiel benötigt die Funktion addContact() zwei Parameter: id und restartCallback. Wenn die Funktion „addContact()“ aufgerufen wird, wird dem Argument „refreshCallback“ ein Verweis auf die Funktion „refreshContactList()“ übergeben. Die Funktion „refreshContactList()“ wird erst ausgeführt, wenn sie innerhalb der Funktion „addContact()“ aufgerufen wird.

Das obige ist der detaillierte Inhalt vonWie übergebe ich Funktionen als Parameter in JavaScript ohne sofortige Ausführung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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