Fungsi adalah warga negara kelas satu dalam paradigma pemrograman fungsional, yang artinya mereka seperti variabel. Mereka dapat diteruskan sebagai argumen ke fungsi lain, ditugaskan ke variabel, dan dikembalikan oleh fungsi lain. Artikel ini menjelaskan cara meneruskan fungsi sebagai parameter dalam javascript secara detail dengan contoh Show
CakupanArtikel ini secara ekstensif membahas poin-poin berikut
PerkenalanDalam pemrograman fungsional, kami menganggap fungsi sebagai "warga negara kelas satu". Maksud kami, fungsi diperlakukan sebagai variabel normal. Mereka dapat diberi nilai atau diteruskan ke fungsi lain sebagai parameter, dan fungsi juga dapat mengembalikan fungsi Bagaimana kita bisa meneruskan variabel ke fungsi sebagai parameternya?
SintaksisSekarang, mari kita lihat bagaimana fungsi dapat diteruskan ke fungsi lain dan bagaimana fungsi tersebut dapat digunakan di dalamnya. Pertama, mari kita buat sebuah fungsi yang mengambil fungsi dan memanggilnya di dalam tubuhnya
Coba konsol mencatat nilai parameter di dalam fungsi panggilan dan lihat, saya tidak berbohong
Contoh Umum Callback
Saat kami meneruskan fungsi sebagai argumen ke fungsi lain, kami menyebutnya callback. Callback berarti bahwa fungsi tersebut akan dipanggil nanti Mengapa kita membutuhkan Callback?
Catatan. Tujuan utama menggunakan fungsi panggilan balik adalah untuk menangani sifat tugas yang tidak sinkron Pertimbangkan contoh ini. Jika kita ingin memanggil function1 jika kita mendapat respons terhadap fungsi asinkron dan memanggil function2 jika menemui kesalahan saat melakukan tugas async tersebut, kita memerlukan callback di sini _
Meneruskan Fungsi tanpa MemanggilnyaHighlight 1 - Saat meneruskan panggilan balik, hanya berikan nama fungsi dan jangan panggil fungsi tersebut 2 - Memahami sintaks yang benar untuk meneruskan panggilan balik Kebanyakan orang membuat kesalahan umum saat meneruskan fungsi sebagai panggilan balik dengan menjalankannya. Ingat, kami selalu meneruskan nama fungsi ke fungsi lain dan tidak memanggilnya saat mengirim. Fungsi panggilan balik sebenarnya dipanggil di dalam fungsi lain Pertimbangkan cuplikan kode berikut _
Lihat Jendela keluaran Kami memiliki output yang SALAH. Menurut kode kita, function - smile seharusnya tidak dipanggil karena 23 > 45 salah Juga, Keluaran ini berasal dari baris no. 9, sedangkan kami berharap fungsi senyum dipanggil pada baris no. 6 Tapi kami memiliki pernyataan senyum di konsol. Juga, dapatkah Anda melihat kesalahan - TypeError. senyum bukan fungsi? Mari kita pahami ini. Saat kami meneruskan nama fungsi, kami meneruskan referensi ke fungsi itu. Fungsi baru kemudian memiliki referensi ke fungsi aslinya. Itu kemudian dapat memanggil fungsi kapan pun dirasa demikian, berdasarkan keputusannya Tetapi ketika kita melewati fungsi yang dipanggil, i. e. , seperti ini - func(). Kami sudah memanggil fungsinya. Apa yang kita berikan ke fungsi selanjutnya bukanlah referensi fungsi tetapi output dari fungsi yang kita panggil. Ini pasti tidak bisa dipanggil di dalam tubuh fungsi berikutnya. Inilah yang dikatakan pesan kesalahan Kode yang benar untuk logika ini adalah _0 Bagaimana Cara Melewati Argumen dengan Benar dengan Callback?Highlight 1- Kirim panggilan balik hanya dengan meneruskan nama fungsi 2 - Metode untuk meneruskan fungsi panggilan balik dengan argumen Sekarang, bagaimana jika kita perlu meneruskan beberapa argumen ke fungsi panggilan balik saat sedang dipanggil di dalam fungsi berikutnya? _1 Mendapatkan '' ini '' Tepat saat Melewati FungsiHighlight 1 - ini mengambil nilai objek, menyebutnya 2 - Saat diteruskan sebagai panggilan balik, fungsi mencari nilai global ini 3 - Langkah-langkah untuk mengatasi masalah ini dan mengikat nilai ini dibahas Pertimbangkan potongan kode ini _4 |