Ada tiga cara untuk mendeklarasikan fungsi khusus di JavaScript, yaitu menggunakan pernyataan fungsi, menggunakan konstruktor Function(), dan mendefinisikan literal fungsi.
1. Pernyataan fungsi
Dalam JavaScript, Anda dapat menggunakan pernyataan fungsi untuk mendeklarasikan fungsi. Penggunaan spesifiknya adalah sebagai berikut:
function funName([args]) { pernyataan }
funName adalah nama fungsi, yang seperti nama variabel harus berupa pengenal JavaScript yang sah. Mengikuti nama fungsi adalah daftar parameter yang diapit tanda kurung dan dipisahkan dengan koma. Parameter bersifat opsional dan tidak ada batasan jumlahnya.
Sebagai pengidentifikasi, parameter hanya diakses di dalam badan fungsi; parameter adalah anggota pribadi dari cakupan fungsi. Saat memanggil suatu fungsi, teruskan nilai ke fungsi tersebut, lalu gunakan parameter untuk mendapatkan nilai yang diteruskan secara eksternal, dan campur tangan dalam menjalankan fungsi di dalam badan fungsi.
Setelah tanda kurung adalah kurung kurawal, dan pernyataan yang terdapat di dalam kurung kurawal adalah isi utama dari struktur isi fungsi. Di isi fungsi, kurung kurawal sangat penting. Tanpa kurung kurawal, JavaScript akan menimbulkan kesalahan sintaksis.
Contoh
pernyataan fungsi harus berisi nama fungsi, tanda kurung, dan kurung kurawal, dan kode lain dapat dihilangkan, sehingga isi fungsi yang paling sederhana adalah fungsi kosong.
function funName() {} //Fungsi kosong
Jika Anda menggunakan fungsi anonim, Anda bisa menghilangkan nama fungsinya.
function () {} //Pernyataan var fungsi kosong anonim
dan pernyataan fungsi keduanya merupakan pernyataan deklarasi, dan variabel serta fungsi yang dideklarasikannya diurai saat JavaScript dikompilasi sebelumnya, juga dikenal sebagai promosi variabel dan promosi fungsi. Selama periode pra-kompilasi, mesin JavaScript akan membuat konteks untuk setiap fungsi, mendefinisikan objek variabel, dan mendaftarkan semua parameter formal, variabel pribadi, dan fungsi bersarang dalam fungsi sebagai atribut pada objek variabel.
2. Konstruktor Function()
Gunakan konstruktor Function() untuk menghasilkan fungsi dengan cepat. Penggunaan spesifiknya adalah sebagai berikut:
var funName = new Function(p1, p2, ..., pn, body);
Tipe parameter Function() semuanya berupa string. p1~pn mewakili daftar nama parameter dari fungsi yang dibuat, dan body mewakili fungsi yang dibuat. Pernyataan struktur fungsi dari suatu fungsi, dipisahkan dengan titik koma di antara pernyataan body.
Contoh 1
dapat menghilangkan semua parameter dan hanya meneruskan string untuk mewakili isi fungsi.
var f = new Function ("a", "b", "return a+b"); //Kloning strukturfungsi
melalui konstruktor.
Fungsi yang sama didefinisikan, dan fungsi dengan struktur yang sama dapat dirancang menggunakan pernyataan fungsi.
function f(a, b) {//Gunakan pernyataan fungsi untuk mendefinisikan struktur fungsi return a + b; }
Contoh 2
menggunakan konstruktor Function() untuk membuat struktur fungsi kosong tanpa menentukan parameter apa pun.
var f = new Function(); //Definisikan fungsi kosong.
Gunakan konstruktor Function() untuk membuat fungsi secara dinamis. Ini tidak membatasi pengguna pada isi fungsi yang dideklarasikan sebelumnya oleh pernyataan fungsi. Penggunaan konstruktor Function() memungkinkan fungsi digunakan sebagai ekspresi, bukan sebagai struktur, sehingga lebih fleksibel untuk digunakan. Kerugiannya adalah konstruktor Function() dikompilasi selama eksekusi, efisiensi eksekusi sangat rendah, dan penggunaannya umumnya tidak disarankan.
3. Fungsi anonim (fungsi literal)
Fungsi literal disebut juga fungsi anonim, yaitu fungsi tidak memiliki nama fungsi dan hanya berisi kata kunci fungsi, parameter, dan isi fungsi. Penggunaan spesifiknya adalah sebagai berikut:
function ([args]) { pernyataan }
Contoh 1
Kode berikut mendefinisikan fungsi literal.
function (a, b) { //Fungsi literal mengembalikan a + b; }
Dalam kode di atas, literal fungsi pada dasarnya sama dengan menggunakan pernyataan fungsi untuk mendefinisikan struktur fungsi, dan strukturnya tetap. Namun, literal fungsi tidak menentukan nama fungsi, tetapi langsung menggunakan kata kunci fungsi untuk mewakili struktur fungsi.
Contoh 2
Fungsi anonim adalah sebuah ekspresi, yaitu ekspresi fungsi, bukan pernyataan struktur fungsi. Selanjutnya, tetapkan fungsi anonim sebagai nilai pada variabel f.
//Menetapkan fungsi sebagai nilai langsung ke variabel f var f = fungsi (a, b) { kembalikan a+b; };
Ketika struktur fungsi ditetapkan ke variabel sebagai nilai, variabel tersebut dapat disebut sebagai fungsi, dan variabel menunjuk ke fungsi anonim.
console.log(f(1,2)); //mengembalikan nilai 3
Contoh 3
Fungsi anonim berfungsi sebagai nilai dan dapat berpartisipasi dalam operasi ekspresi yang lebih kompleks. Untuk contoh di atas, Anda dapat menggunakan kode berikut untuk menyelesaikan operasi terintegrasi definisi fungsi dan panggilan.
console.log( //Panggil fungsi sebagai operan (fungsi (a,b) { kembalikan a+b; })(1, 2)); //Mengembalikan nilai 3
Setelah suatu fungsi didefinisikan, kita dapat memanggilnya di mana saja dalam dokumen saat ini. Memanggil suatu fungsi sangat sederhana, cukup tambahkan tanda kurung setelah nama fungsi, seperti alert(), write(). Perhatikan bahwa jika parameter ditentukan dalam tanda kurung setelah nama fungsi saat mendefinisikan fungsi, maka parameter terkait harus diberikan dalam tanda kurung saat memanggil fungsi.
Contoh kodenya adalah sebagai berikut:
function sayHello(name){ document.write("Halo " + nama); } //Panggil fungsi sayHello() sayHello('situs web PHP berbahasa Mandarin');
Tip: JavaScript peka terhadap huruf besar-kecil, jadi kata kunci fungsi harus menggunakan huruf kecil saat mendefinisikan suatu fungsi, dan fungsi tersebut harus dipanggil dalam kasus yang sama seperti saat dideklarasikan.
Di atas adalah analisis mendalam tentang deklarasi dan pemanggilan fungsi kustom JS. Untuk informasi lebih lanjut, harap perhatikan artikel terkait lainnya di situs web PHP Mandarin!