Sebelum JavaScript 1. 2, definisi fungsi hanya diizinkan dalam kode global tingkat atas, tetapi JavaScript 1. 2 memungkinkan definisi fungsi untuk bersarang di dalam fungsi lain juga. Masih ada batasan bahwa definisi fungsi tidak boleh muncul dalam loop atau kondisional. Pembatasan definisi fungsi ini hanya berlaku untuk deklarasi fungsi dengan pernyataan fungsi Show
Seperti yang akan kita bahas nanti di bab berikutnya, literal fungsi (fitur lain yang diperkenalkan di JavaScript 1. 2) dapat muncul dalam ekspresi JavaScript apa pun, yang berarti bahwa ekspresi tersebut dapat muncul dalam if dan pernyataan lainnya ContohCoba contoh berikut untuk mempelajari cara mengimplementasikan fungsi bersarang
KeluaranJavaScript memungkinkan pengembang untuk mendefinisikan fungsi di dalam fungsi lain, sebuah teknik yang dikenal sebagai fungsi bersarang. Fungsi bersarang dapat berguna dalam berbagai situasi, termasuk mengatur kode ke dalam blok logis, meningkatkan keterbacaan fungsi besar, dan membuat metode pribadi yang hanya dapat diakses di dalam fungsi yang memuatnya. Pada artikel ini, kita akan menjelajahi dasar-dasar fungsi bersarang di JavaScript, termasuk sintaksnya, perbedaannya dari fungsi tradisional, dan cara menggunakannya secara efektif dalam kode Anda
Menggunakan fungsi bersarang di JavaScriptDalam JavaScript, suatu fungsi dapat didefinisikan di dalam fungsi lain. Fungsi seperti itu disebut fungsi bersarang atau fungsi dalam. Fungsi bersarang memiliki akses ke variabel dan parameter fungsi luar, serta ke variabel dan fungsi global. Mereka dapat digunakan untuk mengatur dan menyusun kode Anda, dan untuk menghindari konflik penamaan
Fungsi orang tua dan anakKita dapat memiliki fungsi bersarang di mana kita memiliki fungsi induk - fungsi luar - dan fungsi anak - fungsi dalam - di mana fungsi Berikut adalah contoh fungsi bersarang di JavaScript di mana kita menambahkan satu ke argumen fungsi luar dan _Keluaran 4
Dalam contoh ini, fungsi luar 4
0, yang mengambil argumen tunggal 4
1 dan mendefinisikan variabel lokal 4
2. Fungsi dalam mengembalikan nilai 4
_2Fungsi luar mengembalikan fungsi dalam sebagai hasilnya. Ini berarti bahwa fungsi dalam adalah penutupan, yaitu fungsi yang mempertahankan akses ke variabel dan parameter fungsi luar bahkan setelah fungsi luar menyelesaikan eksekusinya. BACA JUGA. Bagaimana cara menambahkan array di JavaScript? Untuk memanggil fungsi dalam, Anda perlu memanggil fungsi luar terlebih dahulu, lalu memanggil fungsi dalam sebagai properti dari hasil fungsi luar. Ini dikenal sebagai metode chaining Iklan Pada contoh di atas, kita memanggil fungsi luar dengan argumen 4
4, lalu memanggil fungsi dalam sebagai properti dari hasil fungsi luar, dengan argumen 4
5. Fungsi dalam menghitung nilai 4
_2 sebagai 4
7, dan mengembalikan hasilnya
Fungsi tingkat yang samaKita dapat memiliki banyak fungsi dalam lingkungan JavaScript tertentu atau tingkat cakupan global, dan kita mungkin perlu memanggil salah satu fungsi tersebut di dalam fungsi lain. Untuk menggambarkan hal ini, kita dapat membuat tiga fungsi - 4
8, 4
9 dan 0 - dan menyertakan 4
8 dan 4
9 dalam fungsi 0 meskipun, semuanya berada dalam lingkup global yang sama
Keluaran 2548.0396799999994
Dalam kode ini, fungsi 4
8 dan 4
9 bersarang di dalam fungsi 0. Ini berarti bahwa mereka hanya tersedia dalam lingkup fungsi 0 dan tidak dapat dipanggil dari luarnya. Meskipun, semua fungsi berada dalam level yang sama, kami dapat memiliki fungsi bersarang dengan memanggilnya dalam suatu fungsiBACA JUGA. Contoh Penangan Peristiwa JavaScript localStorage [SOLVED]
Fungsi anonim batinPendekatan lain yang dapat kita lihat dengan fungsi bersarang di JavaScript menggunakan fungsi anonim di dalam suatu fungsi. Fungsi anonim akan berfungsi sebagai fungsi dalam di dalam fungsi luar. Untuk lebih memahami, mari kita ilustrasikan fungsi luar - 8 - yang menggunakan argumen 9, dan di dalam fungsi ini kita memiliki fungsi anonim yang menggunakan
Keluaran 0.6
Kode ini menunjukkan penggunaan fungsi bersarang, di mana fungsi anonim dalam didefinisikan dan dikembalikan oleh fungsi 2548.0396799999994
0 luar. Fungsi dalam memiliki akses ke variabel dalam fungsi luar, dalam hal ini, variabel 9. Ini dikenal sebagai penutupan
Bagaimana nesting memengaruhi ruang lingkup?Fungsi yang ditentukan di tingkat atas kode Anda memiliki cakupan global, sedangkan fungsi yang ditentukan di dalam fungsi lain memiliki cakupan lokal. Mari kita periksa contoh ini Iklan
Mari visualisasikan ini sebagai gambar untuk memahami dampak ruang lingkup Di sini semua yang didefinisikan di tingkat atas kode memiliki cakupan global. Jadi 2548.0396799999994
_2 dan 2548.0396799999994
3 keduanya adalah variabel global. Tapi ingat 2548.0396799999994
_2 didefinisikan hanya setelah ekspresi fungsi 2548.0396799999994
5 dievaluasiBACA JUGA. Bagaimana cara menggunakan Metode JavaScript toFixed()? 2548.0396799999994
_6 didefinisikan oleh deklarasi fungsi dalam fungsi 2548.0396799999994
2. Jadi ruang lingkupnya adalah keseluruhan fungsi dan didefinisikan di seluruh 2548.0396799999994
2 badan fungsi2548.0396799999994
_9 didefinisikan oleh ekspresi fungsi dalam fungsi 2548.0396799999994
3. Jadi ruang lingkupnya adalah seluruh fungsi 2548.0396799999994
_3 tetapi itu ditentukan hanya setelah ekspresi fungsi dievaluasi hingga akhir badan fungsiPerhatikan bahwa aturan kapan Anda bisa merujuk ke suatu fungsi adalah sama di dalam suatu fungsi seperti di tingkat atas. Artinya, dalam suatu fungsi, jika Anda menentukan fungsi bertingkat dengan 2, fungsi bertingkat tersebut ditentukan di mana saja di dalam isi fungsi. Di sisi lain, jika Anda membuat fungsi bertingkat menggunakan 3, maka fungsi bertingkat tersebut ditentukan hanya setelah ekspresi fungsi dievaluasi
RingkasanFungsi bersarang dapat berguna dalam beberapa situasi. Misalnya, Anda dapat menggunakannya untuk membuat fungsi utilitas yang hanya diperlukan dalam konteks tertentu. Anda juga dapat menggunakannya untuk mengenkapsulasi logika kompleks dan menyembunyikannya dari kode lainnya Iklan Perlu diingat bahwa fungsi bersarang dapat berdampak negatif pada kinerja kode Anda karena membuat cakupan baru dan menambahkan overhead ke pemanggilan fungsi. Anda harus menggunakannya dengan bijaksana dan hanya jika diperlukan BACA JUGA. Masing-masing JavaScript vs Dalam [Dengan Contoh] Fungsi bersarang dapat membantu Anda mengatur dan menyusun kode Anda, dan dapat memberikan cara ampuh untuk membuat penutupan dan merangkum logika kompleks Bagaimana cara memanggil fungsi dalam fungsi bersarang di JavaScript?Pendekatan. . Tulis satu fungsi di dalam fungsi lain Lakukan panggilan ke fungsi dalam di pernyataan pengembalian fungsi luar Sebut saja fun(a)(b) di mana a adalah parameter ke luar dan b ke fungsi dalam Terakhir, kembalikan output gabungan dari fungsi bersarang Bisakah Anda melakukan fungsi bersarang di JavaScript?JavaScript memungkinkan penyatuan fungsi dan memberikan fungsi dalam akses penuh ke semua variabel dan fungsi yang didefinisikan di dalam fungsi luar (dan semua variabel dan fungsi lain yang dimiliki fungsi luar .
Bagaimana cara menjalankan fungsi bersarang?Gunakan fungsi bertingkat dalam rumus . Klik sel tempat Anda ingin memasukkan rumus Untuk memulai rumus dengan fungsi, klik Sisipkan Fungsi pada bilah rumus. . Dalam kotak Atau pilih kategori, pilih Semua. . Untuk memasukkan fungsi lain sebagai argumen, masukkan fungsi di kotak argumen yang Anda inginkan Bagaimana cara memanggil fungsi di dalam fungsi JavaScript?Ada beberapa cara berbeda untuk memanggil fungsi dalam JavaScript. Cara yang paling umum adalah dengan menggunakan nama fungsi diikuti dengan tanda kurung . Jika Anda memiliki fungsi yang disimpan dalam variabel, Anda dapat memanggilnya menggunakan nama variabel diikuti dengan tanda kurung. |