Wenn Sie JavaScript lernen, sind Sie wahrscheinlich auf den Begriff Funktionen höherer Ordnung gestoßen. Obwohl es kompliziert klingt, ist es gar nicht so kompliziert. JavaScript als funktionale Programmiersprache ermöglicht die Verwendung dieser Funktionen, die für die funktionsbasierte Programmierung von entscheidender Bedeutung sind.
Funktionale Programmierung impliziert die Erstellung und Verwendung von Funktionen als primäre Bausteine. Bei diesem Ansatz können Funktionen als Parameter an andere Funktionen übergeben oder als Ergebnisse zurückgegeben werden. Diese Denkweise ermöglicht ein organisiertes und effizientes Codeschreiben.
JavaScript behandelt Funktionen als „erstklassige Bürger“. Das bedeutet, dass Funktionen Objekte sind – ein bestimmter Objekttyp, der Variablen zugewiesen, als Parameter übergeben und in verschiedenen Kontexten verwendet werden kann, beispielsweise als Zahlen oder Zeichenfolgen.
Beispiel:
function pozdrav() { console.log('Zdravo, svete!'); } pozdrav(); // Ispisuje 'Zdravo, svete!' // Dodavanje svojstva funkciji pozdrav.jezik = 'srpski'; console.log(pozdrav.jezik); // Ispisuje 'srpski'
In JavaScript können Funktionen Variablen zugewiesen werden:
const kvadrat = function(x) { return x * x; }; console.log(kvadrat(5)); // Ispisuje 25
Eines der Hauptmerkmale erstklassiger Funktionen ist die Möglichkeit, sie als Argumente an andere Funktionen zu übergeben:
function formalniPozdrav() { console.log("Kako ste?"); } function neformalniPozdrav() { console.log("Šta ima?"); } function pozdravVrsta(vrsta, formalan, neformalan) { if (vrsta === 'formalan') { formalan(); } else if (vrsta === 'neformalan') { neformalan(); } } pozdravVrsta('neformalan', formalniPozdrav, neformalniPozdrav); // Ispisuje 'Šta ima?'
Funktionen höherer Ordnung sind Funktionen, die andere Funktionen als Argumente akzeptieren oder als Ergebnisse zurückgeben. Dies ermöglicht ein eleganteres und prägnanteres Schreiben von Code. Beispiele hierfür sind die Methoden „map“, „filter“ und „reduction.
“.map erstellt ein neues Array, indem es eine Funktion für jedes Element des vorhandenen Arrays aufruft:
Keine Kartenmethode:
const arr1 = [10, 20, 30, 40, 50]; const arr2 = []; for (let i = 0; i < arr1.length; i++) { arr2.push(arr1[i] * 2); } console.log(arr2); // [20, 40, 60, 80, 100]
Mit Kartenmethode:
const arr1 = [10, 20, 30. 40, 50]; const arr2 = arr1.map(item => item * 2); console.log(arr2); // [20, 40, 60, 8-, 100]
-Filter erstellt ein neues Array mit allen Elementen, die die gegebene Bedingung erfüllen:
const osobe = [ { ime: 'Pera', godine: 13 }, { ime: 'Mika', godine: 18 }, { ime: 'Laza', godine: 64 }, { ime: 'Ana', godine: 10 }, ]; const punoletni = osobe.filter(osoba => osoba.godine >= 18); console.log(punoletni); // [ { ime: 'Mika', godine: 18 }, { ime: 'Laza', godine: 64 } ]
reduce führt eine Funktion für jedes Mitglied des Arrays aus und gibt einen eindeutigen Wert zurück:
Beispiel mit Reduzieren:
const arr = [4, 6, 10, 5, 25]; const suma = arr.reduce((akumulator, vrednost) => akumulator + vrednost, 0); console.log(suma); // 50
Stellen Sie sich vor, JavaScript hätte keine integrierte Kartenmethode. Wir können es selbst erstellen:
function mapiraj(arr, fn) { const noviNiz = []; for (let i = 0; i < arr.length; i++) { noviNiz.push(fn(arr[i])); } return noviNiz; } const duzine = mapiraj(['JavaScript', 'Python'], item => item.length); console.log(duzine); // [10, 6]
Funktionen höherer Ordnung ermöglichen Flexibilität und Einfachheit des Codes in JavaScript. Durch die Verwendung dieser Funktionen wird unser Code prägnanter, organisierter und wartbarer.
Das obige ist der detaillierte Inhalt vonFunktionen höherer Ordnung in JavaScript verstehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!