Rumah > hujung hadapan web > tutorial js > Memahami Fungsi Pesanan Tinggi dalam JavaScript

Memahami Fungsi Pesanan Tinggi dalam JavaScript

DDD
Lepaskan: 2024-11-20 11:39:46
asal
1031 orang telah melayarinya

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

Jika anda sedang mempelajari JavaScript, anda mungkin pernah menjumpai istilah Fungsi Pesanan Tinggi. Walaupun kedengarannya rumit, ia tidak begitu rumit. JavaScript, sebagai bahasa pengaturcaraan berfungsi, membenarkan penggunaan fungsi ini, yang penting dalam pengaturcaraan berasaskan fungsi.

Pengaturcaraan Berfungsi

Pengaturcaraan fungsional membayangkan penciptaan dan penggunaan fungsi sebagai blok binaan utama. Dalam pendekatan ini, fungsi boleh dihantar sebagai parameter kepada fungsi lain atau dikembalikan sebagai hasil. Cara pemikiran ini membolehkan penulisan kod yang teratur dan cekap.

Ciri Kelas Pertama

JavaScript menganggap fungsi sebagai "warga kelas pertama". Ini bermakna fungsi ialah objek — jenis objek tertentu yang boleh diberikan kepada pembolehubah, diluluskan sebagai parameter dan digunakan dalam konteks yang berbeza, seperti nombor atau rentetan.

Contoh:

function pozdrav() {
  console.log('Zdravo, svete!');
}
pozdrav();  // Ispisuje 'Zdravo, svete!'

// Dodavanje svojstva funkciji
pozdrav.jezik = 'srpski';
console.log(pozdrav.jezik); // Ispisuje 'srpski'
Salin selepas log masuk

Menetapkan Fungsi kepada Pembolehubah

Dalam JavaScript, fungsi boleh diberikan kepada pembolehubah:

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

Fungsi Lulus sebagai Parameter

Salah satu ciri utama fungsi kelas pertama ialah keupayaan untuk menghantarnya sebagai hujah kepada fungsi lain:

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?'
Salin selepas log masuk

Fungsi Pesanan Tinggi

Fungsi Susunan Tinggi ialah fungsi yang menerima fungsi lain sebagai hujah atau mengembalikannya sebagai hasil. Ini membolehkan penulisan kod yang lebih elegan dan ringkas. Contohnya termasuk kaedah peta, tapis dan kurangkan.

Kaedah peta

peta mencipta tatasusunan baharu dengan memanggil fungsi pada setiap elemen tatasusunan sedia ada:

Tiada kaedah peta:

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]
Salin selepas log masuk

Dengan kaedah peta:

const arr1 = [10, 20, 30. 40, 50];
const arr2 = arr1.map(item => item * 2);
console.log(arr2);  // [20, 40, 60, 8-, 100]
Salin selepas log masuk

Kaedah penapis

Penapis

mencipta tatasusunan baharu dengan semua elemen yang memenuhi syarat yang diberikan:

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 } ]
Salin selepas log masuk

mengurangkan Kaedah

reduce melaksanakan fungsi pada setiap ahli tatasusunan dan mengembalikan nilai unik:

Contoh dengan mengurangkan:

const arr = [4, 6, 10, 5, 25];
const suma = arr.reduce((akumulator, vrednost) => akumulator + vrednost, 0);
console.log(suma);  // 50
Salin selepas log masuk

Mencipta Fungsi Pesanan Tinggi

Bayangkan jika JavaScript tidak mempunyai kaedah peta terbina dalam. Kami boleh menciptanya sendiri:

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]
Salin selepas log masuk

Kesimpulan

Fungsi tertib lebih tinggi membolehkan fleksibiliti dan kesederhanaan kod dalam JavaScript. Dengan menggunakan ciri ini, kod kami menjadi lebih ringkas, teratur dan boleh diselenggara.

Atas ialah kandungan terperinci Memahami Fungsi Pesanan Tinggi dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan