Heim >Web-Frontend >js-Tutorial >Wie übergebe ich eine JavaScript-Funktion als Parameter, ohne sie auszuführen?

Wie übergebe ich eine JavaScript-Funktion als Parameter, ohne sie auszuführen?

Susan Sarandon
Susan SarandonOriginal
2024-12-13 17:10:20972Durchsuche

How to Pass a JavaScript Function as a Parameter Without Executing It?

So übergeben Sie eine JavaScript-Funktion als Parameter (ohne Ausführung)

Beim Übergeben von Funktionen als Parameter ist es wichtig, eine sofortige Ausführung innerhalb zu vermeiden die „Eltern“-Funktion. Dies verhindert unerwünschte Nebenwirkungen und potenzielle Sicherheitsbedenken bei Praktiken wie eval().

Lösung:

Um eine Funktion als Parameter ohne sofortige Ausführung zu übergeben, entfernen Sie einfach die Klammern aus seinem Namen:

addContact(entityId, refreshContactList);

Dadurch wird die Funktionsreferenz übergeben, anstatt sie aufzurufen, sodass Sie sie später im Rückruf ausführen können Funktion.

Beispiel:

Stellen Sie sich das folgende Szenario vor:

function addContact(id, refreshCallback) {
    refreshCallback();
    // You can also pass arguments if you need to
    // refreshCallback(id);
}

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

addContact(1, refreshContactList);

In diesem Beispiel empfängt die Funktion addContact zwei Parameter: entityId und restartContactList . Die Funktion „refreshContactList“ wird als Referenz ohne sofortige Ausführung übergeben. Innerhalb der Funktion „addContact“ wird die Funktion „refreshContactList“ aufgerufen, die die Warnung auslöst.

Das obige ist der detaillierte Inhalt vonWie übergebe ich eine JavaScript-Funktion als Parameter, ohne sie auszuführen?. 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