Pada saat membuat sebuah aplikasi biasanya kita akan menemukan beberapa pernyataan atau ekspresi yang sama yang dibuat secara berulang-ulang, jika hal ini dilakukan dapat merepotkan maka dari itu hadir fungsi-fungsi dalam JavaScript Show
Tidak hanya JavaScript, sebagian besar bahasa pemrograman juga memiliki fungsi, secara umum perilakunya sama, hanya cara penulisannya saja yang berbeda Mari gunakan studi kasus, untuk mencari tahu kapan dan mengapa kita perlu menggunakan fungsi
Perhatikan kode di atas, kita menggunakan string yang sama berulang kali yang hanya mengubah nama ( 1, 2, 3)Bayangkan jika string atau variabel tersebut berada di bagian lain dari kode kita, apalagi file yang berbeda Jika kita ingin mengubah tulisan 4 menjadi 5 apa yang kita lakukan? Mari gunakan fungsi untuk menyelesaikan masalah _Kode di atas sama dengan yang sebelumnya. Dengan menggunakan fungsi, kode tidak hanya sederhana, tetapi juga lebih mudah dikelola Jika kita ingin mengubah teks 4 menjadi 5 kita hanya perlu mengubah string pada fungsiNilai variabel yang diinisialisasi dengan fungsi akan berubah secara otomatis Untuk nilai dinamis atau variabel seperti nama, bisa dijadikan parameter, ini akan berubah secara otomatis tergantung nilai atau argumen yang kita masukkan saat fungsi dipanggil Mari belajar lebih banyak Apa itu Fungsi?Fungsi adalah "subprogram" yang dapat dipanggil di bagian lain dari kode kita atau di dalam fungsi itu sendiri (rekursi). Fungsi dapat memiliki serangkaian pernyataan atau pernyataan di dalam tubuh atau blok fungsi Dalam JavaScript, fungsi dapat menerima dan selalu mengembalikan nilai. Jika kita membuat fungsi yang tidak mengembalikan, fungsi tersebut akan tetap mengembalikan nilai 8Jangan bingung antara fungsi dan metode, fungsi biasanya disebut metode jika merupakan properti objek Materi tentang fungsi sebenarnya cukup banyak dan kompleks, namun disini kita akan mempelajari dasar-dasarnya saja Jenis FungsiAda banyak jenis fungsi yang bisa kita gunakan di JavaScript, kali ini kita akan mempelajari fungsi dasar dan yang paling sering digunakan Kita akan mempelajari deklarasi fungsi, ekspresi fungsi, dan fungsi panah yang masing-masing memiliki perilaku yang berbeda Deklarasi FungsiDeklarasi Fungsi dibuat menggunakan kata kunci 9 diikuti dengan nama fungsi (wajib), kemudian parameter di dalam pasangan kurung kurawal 0, diakhiri dengan kurung kurawal 1 untuk membatasi badan fungsiSintaksis
Keterangan
Contoh _ _2 adalah Deklarasi Fungsi, kami mendeklarasikan fungsi bernama 3 untuk menentukan apakah bilangan genapDeklarasi Fungsi bersifat hoisted atau diangkat, artinya kita dapat memanggil fungsi sebelum deklarasi
Perbedaan Deklarasi Fungsi dengan fungsi lainnya, Deklarasi Fungsi selalu dimulai dengan kata kunci 9, memiliki nama persis setelah kata kunci, tidak ada deklarasi variabel di belakangnya, dan diangkat (hoisting)Ekspresi FungsiMirip dengan Deklarasi Fungsi, Ekspresi Fungsi dibuat menggunakan kata kunci 9, diikuti dengan nama fungsi (opsional), kemudian parameter dalam kurung kurawal 6, diakhiri dengan kurung kurawal 7 sebagai pembatas badan fungsiSintaksis
Keterangan
Ekspresi Fungsi BernamaEkspresi Fungsi Bernama adalah Ekspresi Fungsi yang memiliki nama Nama variabel akan selalu digunakan sebagai nama fungsi, oleh karena itu nama yang tepat setelah kata kunci 9 biasanya tidak ditulisContoh
Ekspresi Fungsi AnonimEkspresi Fungsi Anonim adalah Ekspresi Fungsi anonim, biasanya digunakan sebagai panggilan balik, tidak diinisialisasi ke variabel Pada contoh di bawah ini, kami mengulangi elemen array menggunakan metode 9Metode _9 memerlukan parameter fungsi atau callback yang menerima parameter elemen, indeks, dan array. Kita dapat memasukkan Ekspresi Fungsi Anonim sebagai panggilan balik
Kode di atas sama dengan di bawah jika menggunakan Named Function Expression
Ekspresi Fungsi yang Segera Dipanggil (IIFE)Seperti namanya, Ekspresi Fungsi Segera Dipanggil adalah Ekspresi Fungsi yang langsung dipanggil Untuk membuat IIFE kita dapat menggunakan dua pasang tanda kurung buka dan tutup yang bersebelahan 1Tanda kurung pertama adalah tempat mendeklarasikan Ekspresi Fungsi Anonim Tanda kurung kedua digunakan untuk memanggil fungsi, jika fungsi memiliki parameter, kita dapat meneruskan nilai atau argumen ke dalam tanda kurung kedua Contoh IIFE tanpa parameter
Contoh IIFE dengan parameter _0Fungsi PanahFungsi Panah mirip dengan Ekspresi Fungsi, tetapi tidak memerlukan kata kunci 9, yang diperlukan adalah tanda panah di antara kurung kurawal dan kurung kurawalFungsi panah dimulai dengan tanda kurung kurawal sepasang parameter 6, diikuti tanda sama dengan lebih besar dari atau tanda panah ( 4), kemudian diakhiri dengan tanda kurung kurawal 7 sebagai batas badan fungsiSintaksis _1Keterangan
Fungsi Panah BernamaNamed Arrow Function adalah fungsi panah bernama, biasanya diinisialisasi menjadi variabel, nama variabel digunakan sebagai nama fungsi Contoh _2Karena fungsi di atas hanya menerima satu parameter, kita dapat menghapus tanda kurung _2Karena fungsi di atas hanya memiliki satu ekspresi dan mengembalikan nilai yang dihasilkan oleh ekspresi, kita dapat mengubahnya menjadi satu baris dengan menghapus kata kunci 6 dan kurung kurawal 7 _4Ketiga contoh Named Arrow Function di atas memiliki perilaku yang sama walaupun ditulis dengan cara yang berbeda Fungsi Panah AnonimFungsi Panah Anonim adalah fungsi panah anonim, biasanya digunakan sebagai panggilan balik Mari kita gunakan contoh yang sama dengan Ekspresi Fungsi Anonim, tetapi kita mengubah panggilan balik dengan Fungsi Panah Anonim _5Kode diatas sama dengan dibawah jika menggunakan Named Arrow Function _6Fungsi Panah Segera Dipanggil (IIAF)Fungsi Panah Segera Dipanggil (IIAF) adalah fungsi panah yang akan langsung dipanggil seperti IIFE Contoh tanpa parameter _7Contoh dengan parameter _8Fungsi Mengembalikan NilaiDalam JavaScript, suatu fungsi akan selalu mengembalikan nilai, jika fungsi yang dibuat tidak mengembalikan nilai, maka nilai yang dikembalikan adalah 8Jika kita ingin membuat fungsi yang mengembalikan nilai tertentu, kita harus menggunakan kata kunci 6 diikuti dengan nilai yang ingin kita kembalikan, kecuali untuk fungsi panah sebarisMari kita lihat perbedaannya Contoh fungsi yang mengembalikan nilai Karena _0 adalah ekspresi atau menghasilkan nilai kita dapat langsung 6 ekspresi _9Contoh fungsi yang tidak mengembalikan nilai Perhatikan bahwa tidak ada kata kunci _6 dalam fungsi (tidak ada nilai yang dikembalikan), tetapi fungsi ini tetap mengembalikan nilai default, 8 0Lingkup FungsiDalam JavaScript setiap fungsi membuat ruang lingkup baru, ini terkait dengan penutupan istilah, tetapi tidak akan dibahas secara rinci di sini Untuk memudahkan pemahaman, mari langsung gunakan studi kasus Lihat kode di bawah ini, kita mendeklarasikan variabel bernama 4 di dalam fungsi 5, kita menggunakan variabel di luar fungsiCoba tebak, bisakah kita melakukannya? 1Jawabannya adalah tidak. Kode di atas mengembalikan ReferenceError yang Tidak Tertangkap. nama tidak ditentukan Bagaimana jika variabel yang dideklarasikan di luar fungsi digunakan di dalam fungsi? 2Nah ini bisa Jadi kesimpulannya, variabel yang dideklarasikan di dalam fungsi atau lingkup fungsi tidak bisa diakses di luar fungsi, sedangkan variabel yang dideklarasikan di luar fungsi bisa diakses di dalam fungsi Ibarat jendela mobil, dia bisa melihat ke luar tapi bagian luar tidak bisa melihat ke dalam Apa pun kata kunci variabel dan jenis fungsi yang digunakan, cakupan fungsinya memiliki perilaku yang sama Fungsi MemanggilSuatu fungsi tidak akan dieksekusi sampai kita memanggilnya Saat membuat function, berarti kita baru saja mendeklarasikan function tersebut belum digunakan atau dipanggil, apapun jenis function yang dideklarasikan, kecuali Anonymous Function, IIFE, dan IIFA Untuk memanggil suatu fungsi kita dapat menuliskan nama fungsi yang ingin kita panggil diikuti dengan kurung kurawal. Jika fungsi memiliki parameter, kita dapat melewatkan nilai atau argumen, 6Contoh kode di bawah ini tidak akan menjalankan fungsi karena kita baru saja mendeklarasikan atau membuatnya Pernyataan di dalam fungsi tidak akan dieksekusi, sehingga tidak akan mempengaruhi atau menghasilkan nilai apapun, tetapi ini akan disimpan dalam memori 3Contoh pemanggilan fungsi 4Jika fungsi dipanggil tanpa tanda kurung 7 hanya nama, pernyataan di badan fungsi tidak akan dieksekusi, nilai yang dikembalikan adalah kode fungsi 5Parameter dan Argumen FungsiParameter adalah nama variabel atau nama alias dari argumen atau nilai yang diteruskan ke badan fungsi. Parameter ditulis di dalam kurung kurva fungsi Sedangkan argumen adalah nilai yang dilewatkan saat fungsi dipanggil Parameter akan diinisialisasi dengan nilai argumen yang diteruskan. Kita dapat melewatkan nilai dari tipe data apa pun, apakah itu primitif, non-primitif, atau fungsi Perhatikan kode di bawah ini, karena kita melanjutkan nilai 8 saat memanggil fungsi, maka nilai parameter 9 saat fungsi dipanggil dengan nilai tersebut adalah 8 6Urutan Parameter dan ArgumenUrutan argumen harus sesuai dengan parameter fungsi Jika kita ingin menginisialisasi parameter pertama, kita harus memasukkan nilai tersebut sebagai argumen pertama, serta parameter berikutnya Contoh ini sesuai dengan yang kami harapkan, karena kami memasukkan nilai nama 1 ke argumen pertama dan waktu 2 ke argumen keduaArgumen cocok dengan urutan parameter, sehingga menampilkan pesan seperti yang diharapkan 7Lihat kode di bawah ini, ini menghasilkan pesan yang salah karena argumen pertama 2 akan diinisialisasi ke parameter pertama 4, sementara 1 diinisialisasi ke parameter kedua 6 8Nilai Default ParameterDalam JavaScript, nilai default parameter fungsi adalah 8Jika kita tidak memberikan argumen atau nilai saat memanggil fungsi, maka parameter fungsi akan diinisialisasi dengan nilai 8Misalnya, fungsi _9 di bawah ini memiliki satu parameter 4, tetapi saat dipanggil tidak ada nilai atau argumen yang diteruskan. Jadi _4 akan diinisialisasi dengan nilai 8 _9Bagaimana jika kita ingin menentukan nilai default dari parameter itu sendiri? Jadi, jika fungsi dipanggil tanpa argumen atau nilai maka yang digunakan adalah nilai yang kita tentukan, bukan 8Parameter dapat diinisialisasi langsung di dalam kurung kurawal menggunakan nilai yang kita tentukan Mari kita gunakan contoh kode yang sama seperti di atas, sekarang nama akan selalu memiliki nilai yang ditentukan ( 4) jika fungsi dipanggil tanpa nilai atau argumen
Bagaimana cara membuat fungsi dalam JavaScript?untuk membuat fungsi , penulisan harus didahului dengan sintaks " fungsi " lalu lanjutkan dengan nama fungsi yang ingin Anda buat . dan isi fungsi ditulis dalam kurung kurawal buka “{” dan kurung kurawal tutup “}”.
Bagaimana JavaScript berjalan?Javascript cenderung sangat cepat karena dijalankan langsung di browser . Selain itu, sebagian besar browser utama mendukung kompilasi JIT (Just In Time), yang berarti tidak perlu mengompilasi kode sebelum menjalankannya.
Untuk apa fungsi JavaScript?JavaScript adalah bahasa pemrograman yang digunakan oleh developer untuk membuat halaman web interaktif .
Apa cara yang benar untuk menggunakan file JavaScript dalam HTML?Anda dapat langsung menambahkan JavaScript di HTML dengan menggunakan tag yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis yang menyertakan semua kode JS yang Anda tulis . Kode JS yang dapat ditambahkan. antara tag |