Callback-Funktionen in JavaScript
Funktionen können als Parameter an andere Funktionen übergeben werden. Solche Funktionsparameter werden Callbacks (callback) genannt. Lassen Sie uns deren Funktionsweise an einem Beispiel betrachten.
Angenommen, wir möchten eine Funktion erstellen, die als ersten Parameter ein Array und als zweiten - einen Callback entgegennimmt, der auf jedes Element des Arrays angewendet wird:
function each(arr, callback) {
// hier steht irgendein Code
}
Schreiben wir die Implementierung unserer Funktion:
function each(arr, callback) {
let result = [];
for (let elem of arr) {
result.push( callback(elem) ); // rufen die Callback-Funktion auf
}
return result;
}
Unsere Funktion each ist universell.
Das bedeutet, dass wir verschiedene
Callbacks an sie übergeben können, um unterschiedliche Operationen
an Arrays auszuführen. Dabei bleibt der Code unserer Funktion
unverändert - es ändern sich nur
die übergebenen Callbacks.
Lassen Sie uns zur Veranschaulichung mithilfe unserer Funktion jedes Element eines beliebigen Arrays quadrieren. Dazu übergeben wir den entsprechenden Callback als Parameter:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 2;
});
console.log(result);
Lassen Sie uns nun die Elemente des Arrays in die dritte Potenz erheben. Dazu übergeben wir als Parameter einen anderen Callback, der diese Operation ausführt:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 3;
});
console.log(result);
Gegeben ist ein Array mit Zahlen. Erhöhen Sie mithilfe der
von uns erstellten Funktion each jedes
Element um das Doppelte.
Gegeben ist ein Array mit Strings. Drehen Sie mithilfe der
von uns erstellten Funktion each die Zeichen
jedes Strings in umgekehrter Reihenfolge um.
Gegeben ist ein Array mit Strings. Machen Sie mithilfe der
von uns erstellten Funktion each das erste Zeichen
jedes Strings großbuchstabig.