JavaScript Definisikan & Panggil Fungsi dengan Contoh
⚡ Ringkasan Cerdas
JavaFungsi skrip mengelompokkan blok kode yang dapat digunakan kembali dan hanya berjalan saat dipanggil. Panduan ini menunjukkan cara mendeklarasikan fungsi skrip, memberikan argumen ke dalamnya, dan mengembalikan nilai ke pemanggil.

Apa Fungsi di dalamnya JavaNaskah?
Fungsi sangat penting dan berguna dalam bahasa pemrograman apa pun karena membuat kode dapat digunakan kembali. Fungsi adalah blok kode yang hanya akan dieksekusi jika dipanggil. Jika Anda memiliki beberapa baris kode yang perlu digunakan beberapa kali, Anda dapat membuat fungsi yang mencakup baris kode yang berulang dan kemudian memanggil fungsi tersebut di mana pun Anda inginkan.
Tidak ada bagian di dalam tanda kurung yang berjalan sendiri. Browser menyimpan blok kode tersebut dengan nama yang Anda berikan, dan kode hanya akan dieksekusi ketika nama tersebut ditulis dengan tanda kurung setelahnya, seperti myFunction()Oleh karena itu, fungsi berada di pusat setiap hal. JavaNaskah program, apakah skrip tersebut masih ada di dalam halaman atau di dalam file eksternal.
Cara Membuat Fungsi di JavaNaskah
- Gunakan kata kunci fungsi diikuti dengan nama fungsinya.
- Setelah nama fungsi, buka dan tutup kurung.
- Setelah kurung, buka dan tutup kurung kurawal.
- Di dalam kurung kurawal, tulis baris kode Anda.
sintaks:
function functionname()
{
lines of code to be executed
}
Contoh di bawah ini mendefinisikan myFunction() lalu memanggilnya di baris berikutnya, sehingga pesan muncul segera setelah halaman dimuat. Cobalah sendiri:
<html>
<head>
<title>Functions!!!</title>
<script type="text/javascript">
function myFunction()
{
document.write("This is a simple function.<br />");
}
myFunction();
</script>
</head>
<body>
</body>
</html>
Fungsi dengan Argumen
Anda juga dapat membuat fungsi dengan argumen. Argumen harus ditentukan di dalam tanda kurung.
sintaks:
function functionname(arg1, arg2)
{
lines of code to be executed
}
Sini countVowels() Menerima nama apa pun yang diketik pengunjung ke dalam kolom input, mengulang setiap karakter, dan melaporkan berapa banyak huruf vokal yang terkandung dalam nama tersebut. Cobalah sendiri:
<html>
<head>
<script type="text/javascript">
var count = 0;
function countVowels(name)
{
for (var i=0;i<name.length;i++)
{
if(name[i] == "a" || name[i] == "e" || name[i] == "i" || name[i] == "o" || name[i] == "u")
count = count + 1;
}
document.write("Hello " + name + "!!! Your name has " + count + " vowels.");
}
var myName = prompt("Please enter your name");
countVowels(myName);
</script>
</head>
<body>
</body>
</html>
JavaNilai Pengembalian Skrip
Anda juga dapat membuat fungsi JS yang mengembalikan nilai. Di dalam fungsinya, Anda perlu menggunakan kata kunci kembali diikuti dengan nilai yang akan dikembalikan.
sintaks:
function functionname(arg1, arg2) { lines of code to be executed return val1; }
Pada contoh terakhir ini returnSum() Mengembalikan total ke baris yang memanggilnya, sehingga hasilnya dapat digabungkan menjadi sebuah kalimat alih-alih dicetak di dalam fungsi. Cobalah sendiri:
<html>
<head>
<script type="text/javascript">
function returnSum(first, second)
{
var sum = first + second;
return sum;
}
var firstNo = 78;
var secondNo = 22;
document.write(firstNo + " + " + secondNo + " = " + returnSum(firstNo,secondNo));
</script>
</head>
<body>
</body>
</html>
Jenis-jenis Fungsi dalam JavaNaskah
Ketiga contoh di atas semuanya menggunakan deklarasi fungsi klasik, namun modern. JavaScript menawarkan beberapa bentuk lain. Perbedaan utamanya terletak pada apakah mesin mengangkatnya atau tidak, dan bagaimana masing-masing memperlakukannya. this kata kunci.
| Jenis fungsi | Sintaks umum | Saat digunakan |
|---|---|---|
| Deklarasi fungsi | fungsi greet() { } | Logika yang diberi nama dan dapat digunakan kembali; diangkat ke bagian atas cakupannya. |
| Ekspresi fungsi | const greet = function () { }; | Menyimpan fungsi dalam sebuah variabel; tidak di-hoisting. |
| Fungsi panah (ES6) | const greet = () => { }; | Fungsi callback singkat; mewarisi ini dari cakupan sekitarnya. |
| Fungsi anonim | setTimeout(function () { }, 100); | Logika sekali jalan langsung diteruskan ke fungsi lain. |
| IIFE | (fungsi () { })(); | Berjalan seketika dan menjaga variabelnya tetap privat. |
| Callback | item.forEach(showItem); | Sebuah fungsi yang diberikan kepada fungsi lain dan dipanggil kemudian. |
Catatan mengenai contoh-contoh di atas: sampel historis yang digunakan var ke document.write(), dan keduanya masih berjalan di setiap browser. Praktik saat ini mendeklarasikan variabel dengan let or const dan mencetak output melalui console.log() atau dengan mengatur textContent pada suatu elemen, karena document.write() Menghapus halaman yang sudah selesai dimuat. type="text/javascript" Atribut ini juga opsional di HTML5.
Parameter Fungsi, Argumen, dan Nilai Default
Parameter adalah nama sementara yang tercantum dalam definisi, sedangkan argumen adalah nilai sebenarnya yang diberikan saat fungsi dipanggil. Dalam countVowels(name) atas, name adalah parameter dan teks yang diketikkan ke dalam prompt adalah argumen.
function greet(user, greeting = "Hello") { return greeting + ", " + user; } greet("Ann"); greet("Ann", "Welcome");
- Parameter tanpa argumen yang cocok menjadi
undefinedkecuali jika nilai default diberikan, karenagreetingdi sini. - Argumen tambahan diabaikan oleh daftar parameter tetapi tetap dapat diakses melalui
argumentsobjek di dalam fungsi non-panah apa pun. - Parameter istirahat yang ditulis sebagai
...valuesmengumpulkan setiap argumen yang tersisa menjadi satu kesatuan yang tulus. susunan.
Lingkup Fungsi dan Pengangkatan dalam JavaNaskah
Lokasi penulisan suatu fungsi menentukan apa yang dapat dilihatnya dan kapan fungsi tersebut dapat dipanggil. Dua aturan menjelaskan hampir setiap kejutan yang dihadapi pemula.
- Mengangkat: Deklarasi fungsi dipindahkan ke bagian atas cakupannya sebelum skrip dijalankan, sehingga dapat dipanggil pada baris di atas definisinya. Ekspresi fungsi dan fungsi panah tidak di-hoisting dan akan menimbulkan kesalahan jika dipanggil terlalu awal.
- Cakupan: variabel yang dideklarasikan dengan
varDi dalam suatu fungsi, informasi tersebut terlihat di seluruh fungsi tersebut, sedangkanletkeconstTerbatas pada blok tempat mereka berada. Apa pun yang dideklarasikan di luar setiap fungsi bersifat global.
Penghitung vokal menunjukkan hal ini dalam praktiknya. count Variabel dideklarasikan di luar fungsi, sehingga pemanggilan countVowels() Jika diulang untuk kedua kalinya pada halaman yang sama, penambahan akan berlanjut ke total sebelumnya, bukan dimulai dari nol. Memindahkan deklarasi ke dalam fungsi akan meresetnya setiap kali dipanggil.
Sco iniping Aturan tersebut berlaku juga untuk kode sisi server, itulah sebabnya alasan yang sama berlaku ketika fungsi ditulis untuk Node.js, dan mengapa perilaku fungsi sering muncul di JavaNaskah pertanyaan wawancara.
