Heim  >  Artikel  >  Web-Frontend  >  Funktionen höherer Ordnung in JavaScript verstehen

Funktionen höherer Ordnung in JavaScript verstehen

DDD
DDDOriginal
2024-11-20 11:39:46961Durchsuche

Razumevanje funkcija višeg reda (Higher-Order Functions) u JavaScript-u

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

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.

Erstklassige Funktionen

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'

Zuweisen von Funktionen zu Variablen

In JavaScript können Funktionen Variablen zugewiesen werden:

const kvadrat = function(x) {
  return x * x;
};
console.log(kvadrat(5));  // Ispisuje 25

Übergeben von Funktionen als Parameter

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

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.

“.

Kartenmethode

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]

Filtermethode

Der

-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 } ]

Methode reduzieren

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

Erstellen einer Funktion höherer Ordnung

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]

Abschluss

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!

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