1 September 2021

Fungsi

Sering kali, kita harus melakukan tindakan yang sama pada skrip di banyak tempat

Sebagai contoh, kita mengharuskan untuk menampilkan pesan yang terlihat indah ketika pengunjung melakukan log in, log out dan mungkin di tempat lain.

Fungsi adalah program utama yang membentuk “struktur bangunan”. Mereka memungkinkan kode untuk dipanggil sebanyak mungkin tanpa harus mengetik berulang-ulang.

Kita telah melihat contoh dari fungsi built-in, seperti alert(message), prompt(message, default) dan confirm(question).

Deklarasi Fungsi

Untuk membuat fungsi, kita dapat menggunakan deklarasi fungsi.

Itu terlihat seperti ini:

function showMessage() {
  alert( 'Hello everyone!' );
}

Katakunci fungsi ditulis duluan, lalu nama fungsinya, kemudian daftar semua parameter antara tanda kurung () (pada contoh di atas, tanda kurung kosong) dan bagian terakhir adalah fungsi kode, yang juga disebut sebagai “badan fungsi”, antara kurung kurawal {}.

function name(parameter1, parameter2, ... parameterN) {
  ...body...
}

Fungsi baru kita dapat disebut dengan nama: showMessage().

Sebagai contoh:

function showMessage() {
  alert( 'Hello everyone!' );
}

showMessage();
showMessage();

Pemanggilan fungsi showMessage() mengeksekusi fungsi kode. Disini kita akan melihat pesan keluaran sebanyak dua kali.

Contoh ini secara jelas memaparkan satu fungsi utama dari penggunaan fungsi: untuk menghindari duplikasi kode.

Jika kita ingin mengubah pesan atau bagaimana pesan itu ingin ditampilkan, itu cukup untuk mengubah kode di satu tempat: yaitu fungsi yang menampilkannya.

Variabel lokal

Variabel yang diumumkan dalam fungsi hanya akan terlihat di dalam fungsi tersebut.

Misalnya:

function showMessage() {
  let message = "Hello, I'm JavaScript!"; // variabel lokal

  alert( message );
}

showMessage(); // Halo, saya adalah  JavaScript!

alert( message ); // <-- Error! Variabel terlihat secara lokal menurut fungsi

Variabel luar

Suatu fungsi juga dapat mengakses variabel luar, sebagai contoh:

let userName = 'John';

function showMessage() {
  let message = 'Hello, ' + userName;
  alert(message);
}

showMessage(); // Halo, John

Fungsi memiliki hak akses penuh kepada variabel luar fungsi. Juga variabel tersebut dapat diubah.

Sebagai contoh:

let userName = 'John';

function showMessage() {
  userName = "Bob"; // (1) changed the outer variable

  let message = 'Hello, ' + userName;
  alert(message);
}

alert( userName ); // John sebelum pemanggilan fungsi

showMessage();

alert( userName ); // Bob, nilai dimodifikasi oleh fungsi