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

Menguasai Fungsi Pesanan Tinggi dalam JavaScript

DDD
Lepaskan: 2024-12-29 11:45:13
asal
380 orang telah melayarinya

Pembangunan JavaScript moden sangat bergantung pada pengaturcaraan berfungsi, dan menguasai idea asasnya akan meningkatkan kebolehan pengekodan anda. Fungsi tertib lebih tinggi adalah antara senjata paling mujarab paradigma ini. Untuk membantu anda memahaminya, artikel ini akan membincangkan definisi, aplikasi dan pelaksanaan uniknya.

1. Pengaturcaraan Fungsian

Pengaturcaraan fungsional ialah paradigma pengaturcaraan yang menekankan:

  • Fungsi tulen: Berfungsi tanpa kesan sampingan, mengembalikan output yang sama untuk input yang sama.
  • Ketidakbolehubah: Data tidak berubah; sebaliknya, struktur data baharu dibuat.
  • Fungsi kelas pertama: Fungsi dianggap sebagai nilai.
  • Fungsi tertib lebih tinggi: Fungsi yang beroperasi pada fungsi lain.

Dengan mematuhi prinsip ini, pengaturcaraan berfungsi memastikan kod yang bersih, boleh diramal dan boleh diselenggara.

Mastering Higher-Order Functions in JavaScript


2. Fungsi Kelas Pertama

Dalam JavaScript, fungsi adalah warga kelas pertama. Ini bermakna:

  1. Fungsi boleh diberikan kepada pembolehubah:
   const greet = function(name) {
       return `Hello, ${name}!`;
   };
   console.log(greet("Alice")); // Output: Hello, Alice!
Salin selepas log masuk
Salin selepas log masuk
  1. Fungsi boleh dihantar sebagai hujah:
   function applyFunction(value, func) {
       return func(value);
   }
   const square = x => x * x;
   console.log(applyFunction(5, square)); // Output: 25
Salin selepas log masuk
  1. Fungsi boleh dikembalikan daripada fungsi lain:
   function multiplier(factor) {
       return num => num * factor;
   }
   const double = multiplier(2);
   console.log(double(4)); // Output: 8
Salin selepas log masuk

3. Fungsi Tertib Lebih Tinggi

Fungsi tertib lebih tinggi ialah sama ada:

  • Mengambil fungsi lain sebagai hujah, atau
  • Mengembalikan fungsi sebagai hasilnya.

Contoh dalam JavaScript:

  • Array.prototype.map()
  • Array.prototype.filter()
  • Array.prototype.reduce()

Kaedah terbina dalam ini menunjukkan keanggunan dan kegunaan fungsi tertib lebih tinggi.


4. Array.prototype.map()

Kaedah map() mencipta tatasusunan baharu dengan menggunakan fungsi panggil balik pada setiap elemen tatasusunan.

Contoh:

const numbers = [1, 2, 3, 4];
const doubled = numbers.map(num => num * 2);
console.log(doubled); // Output: [2, 4, 6, 8]
Salin selepas log masuk

Di sini, map() melaksanakan panggilan balik untuk setiap elemen, mengubah tatasusunan tanpa mengubah yang asal.


5. Array.prototype.filter()

Kaedah penapis() mengembalikan tatasusunan baharu yang mengandungi elemen yang memenuhi syarat yang disediakan.

Contoh:

const numbers = [1, 2, 3, 4];
const evenNumbers = numbers.filter(num => num % 2 === 0);
console.log(evenNumbers); // Output: [2, 4]
Salin selepas log masuk

Kaedah ini sesuai untuk mengekstrak elemen tertentu daripada tatasusunan.


6. Mencipta Fungsi Pesanan Tinggi Anda Sendiri

Untuk benar-benar memahami fungsi tertib tinggi, adalah berfaedah untuk mencipta fungsi anda sendiri. Mari laksanakan versi tersuai peta():

function customMap(array, callback) {
    const result = [];
    for (let i = 0; i < array.length; i++) {
        result.push(callback(array[i], i, array));
    }
    return result;
}

const numbers = [1, 2, 3, 4];
const doubled = customMap(numbers, num => num * 2);
console.log(doubled); // Output: [2, 4, 6, 8]
Salin selepas log masuk

Dalam contoh ini:

  • customMap() berulang ke atas tatasusunan.
  • Fungsi panggil balik digunakan pada setiap elemen.
  • Hasilnya ditolak ke dalam tatasusunan baharu dan dikembalikan.

7. Menggabungkan Fungsi Pesanan Tinggi

Fungsi tertib lebih tinggi menjadi lebih berkuasa apabila digabungkan. Contohnya:

Contoh:

   const greet = function(name) {
       return `Hello, ${name}!`;
   };
   console.log(greet("Alice")); // Output: Hello, Alice!
Salin selepas log masuk
Salin selepas log masuk

Di sini, filter() dan map() dirantai bersama untuk memproses tatasusunan dengan cara yang bersih dan ekspresif.


8. Faedah Fungsi Pesanan Tinggi

  • Kebolehgunaan Semula Kod: Tulis fungsi generik yang boleh berfungsi dengan sebarang panggilan balik.
  • Kejelasan: Gelung jauh abstrak dan logik berulang.
  • Komposisi Berfungsi: Fungsi rantai untuk transformasi yang kompleks.

Mastering Higher-Order Functions in JavaScript


9. Kesimpulan

Menulis JavaScript yang kontemporari dan berkesan memerlukan pemahaman tentang fungsi tertib lebih tinggi. Selain mengurangkan pengulangan dan membolehkan corak yang kuat seperti komposisi berfungsi, ia merangkumi logik. Anda boleh meningkatkan kebolehan pengaturcaraan anda dan menulis kod yang lebih bersih dan lebih mudah untuk diselenggara dengan mempelajari dan menggunakan kedua-dua pelaksanaan terbina dalam dan dipesan lebih dahulu.

Ikuti saya di : Github Linkedin

Atas ialah kandungan terperinci Menguasai 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