Dalam dunia JavaScript, terdapat banyak cara untuk mentakrifkan fungsi, yang merupakan cerminan fleksibiliti JavaScript Namun, sebab inilah yang membuatkan pemula keliru, terutamanya bagi pelajar yang tidak mempunyai asas bahasa. Bak kata pepatah, semua jalan menghala ke Rom, tetapi jika terlalu banyak jalan, musafir akan rugi kerana tidak tahu jalan mana yang betul untuk dilalui Haha, panjang pula artikel ini, biarlah cakap pasal tu, jom tengok kod dulu:
/*Kaedah kedua ialah menggunakan pembina Function() untuk mengklonkan fungsi*/
var F = Fungsi baharu("a","b","maklum(a b)");
F(a,b);
sebenarnya bersamaan dengan kod berikut:
fungsi F(a,b){
makluman(a b);
}
/*Kaedah ketiga ialah menggunakan literal fungsi*/
var zhenn = function(){
makluman("zhenn");
}
zhenn();
Antaranya, kaedah menggunakan "penyataan fungsi" dan "huruf fungsi" untuk mentakrifkan fungsi nampaknya lebih biasa dan lebih mudah difahami, jadi saya tidak akan menerangkan butiran di sini. Fungsi klon menggunakan pembina Function() biasanya jarang digunakan kerana fungsi biasanya terdiri daripada berbilang penyataan Jika ia dihantar sebagai parameter dalam bentuk rentetan, ia pasti akan menjadikan kod kurang boleh dibaca.
Biar saya sebutkan pembina di sini sebenarnya, secara literal, pembina itu sebenarnya bukan fungsi, tetapi hanya model fungsi. Untuk memberikan contoh yang tidak sesuai, pembina adalah setara dengan kereta yang baru dipasang Tidak kira ia dilihat dari jauh atau dekat, ia masih kereta, tetapi ia belum diisi semula (mewakili langkah yang perlu sebelum digunakan). jadi ia dan tidak boleh dimulakan. Jika anda mahu kereta ini memandu secara normal, anda mesti menambah minyak padanya Malah, proses ini bersamaan dengan instantiasi pembina, jika tidak, ia tidak akan berjalan seperti biasa. Lihat contoh ini: