Soalan: Terangkan perbezaan antara pengisytiharan fungsi dan ungkapan fungsi dalam JavaScript.
Jawapan:
Pengisytiharan dan ungkapan fungsi ialah dua cara untuk mencipta fungsi dalam JavaScript.
Pengisytiharan Fungsi:
function foo() { return 5; }
Ungkapan Fungsi Tanpa Nama:
var foo = function() { return 5; }
Ungkapan Fungsi Dinamakan:
var foo = function foo() { return 5; }
Perbezaan Pelayar:
Pengisytiharan fungsi sentiasa ada dimuatkan ke dalam konteks pelaksanaan sebelum sebarang kod. Ungkapan fungsi, bagaimanapun, digunakan untuk menyebabkan beberapa ketidakkonsistenan dalam penyemak imbas. Khususnya, dalam versi Safari terdahulu, ungkapan fungsi berikut akan menimbulkan ralat:
var foo = function foo() { return 5; }
Isu ini telah diselesaikan dan semua penyemak imbas utama kini merawat ungkapan fungsi secara konsisten.
Penjelasan Tambahan:
Ekspresi fungsi dimuatkan dengan malas, bermakna ia hanya dimuatkan apabila penterjemah mencapai baris kod di mana ia dicipta. Ini boleh membawa kepada isu jika anda cuba memanggil ungkapan fungsi sebelum ia dimuatkan. Sebaliknya, pengisytiharan fungsi sentiasa boleh diakses kerana ia dimuatkan sebelum sebarang pelaksanaan kod.
Atas ialah kandungan terperinci Apakah Perbezaan Antara Pengisytiharan Fungsi dan Ungkapan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!