Fungsi JavaScript didefinisikan dengan function kata kunci.
Anda dapat menggunakan deklarasi fungsi atau ekspresi fungsi.
fungsi Deklarasi
Sebelumnya dalam tutorial ini, Anda belajar bahwa fungsi dideklarasikan dengan sintaks berikut:
function functionName ( parameters ) {
code to be executed
}
fungsi dinyatakan tidak dieksekusi segera. Mereka "disimpan untuk digunakan nanti", dan akan dieksekusi kemudian, ketika mereka dipanggil (dipanggil).
Titik koma digunakan untuk memisahkan laporan JavaScript dieksekusi.
Sejak deklarasi fungsi tidak pernyataan dieksekusi, itu tidak umum untuk mengakhirinya dengan titik koma.
fungsi Ekspresi
Sebuah fungsi JavaScript juga dapat didefinisikan menggunakan ekspresi.
Ekspresi fungsi dapat disimpan dalam variabel:
Setelah ekspresi fungsi telah disimpan dalam variabel, variabel dapat digunakan sebagai fungsi:
Fungsi di atas sebenarnya fungsi anonim (fungsi tanpa nama).
Fungsi disimpan dalam variabel tidak perlu nama fungsi. Mereka selalu dipanggil (disebut) menggunakan nama variabel.
Fungsi di atas diakhiri dengan titik koma karena merupakan bagian dari pernyataan dieksekusi.
The Function() Konstruktor
Seperti yang Anda lihat pada contoh sebelumnya, fungsi JavaScript didefinisikan dengan function kata kunci.
Fungsi juga dapat didefinisikan dengan built-in fungsi JavaScript konstruktor disebut Function() .
Contoh
var myFunction = new Function("a", "b", "return a *
b");
var x = myFunction(4, 3);
Cobalah sendiri " Anda benar-benar tidak harus menggunakan fungsi konstruktor. Contoh di atas adalah sama dengan menulis:
Sebagian besar waktu, Anda dapat menghindari menggunakan new kata kunci dalam JavaScript.
Function Hoisting
Sebelumnya dalam tutorial ini, Anda belajar tentang "hoisting" .
Mengangkat adalah perilaku default JavaScript untuk bergerak deklarasi ke atas ruang lingkup saat.
Mengangkat berlaku untuk deklarasi variabel dan deklarasi fungsi.
Karena itu, fungsi JavaScript bisa disebut sebelum mereka dinyatakan:
myFunction(5);
function myFunction(y) {
return y * y;
}
Fungsi didefinisikan menggunakan ekspresi tidak mengangkat.
Fungsi Self-Meminjam
Fungsi ekspresi dapat dibuat "permintaan otomatis".
Sebuah ekspresi diri-memohon dipanggil (mulai) secara otomatis, tanpa dipanggil.
Fungsi ekspresi akan mengeksekusi secara otomatis jika ungkapan diikuti oleh () .
Anda tidak dapat diri memohon deklarasi fungsi.
Anda harus menambahkan tanda kurung di sekitar fungsi untuk menunjukkan bahwa itu adalah ekspresi fungsi:
Fungsi di atas sebenarnya merupakan fungsi diri memohon anonymous (fungsi tanpa nama).
Fungsi Bisa Digunakan sebagai Nilai
fungsi JavaScript dapat digunakan sebagai nilai-nilai:
fungsi JavaScript dapat digunakan dalam ekspresi:
Fungsi yang Objects
The typeof operator dalam JavaScript mengembalikan "function" untuk fungsi.
Tapi, fungsi JavaScript dapat digambarkan sebagai obyek.
Fungsi JavaScript memiliki kedua sifat dan metode.
Properti arguments.length mengembalikan jumlah argumen yang diterima ketika fungsi itu dipanggil:
The toString() metode mengembalikan fungsi sebagai string:
Fungsi didefinisikan sebagai properti dari objek, disebut metode untuk objek.
Sebuah fungsi yang dirancang untuk membuat objek baru, disebut objek konstruktor.