Apabila bekerja dengan JavaScript, memahami perbezaan antara ungkapan fungsi dan pengisytiharan fungsi adalah penting. Walaupun kedua-duanya boleh mentakrifkan fungsi, pemuatan dan pelaksanaannya dalam kod membawa perbezaan yang ketara.
Pengisytiharan Fungsi:
Contoh:
function foo() { return 5; }
Fungsi Tanpa Nama Ungkapan:
Contoh (Fungsi Anak Panah):
const foo = () => { return 5; }
Contoh (Sintaks Fungsi):
const foo = function() { return 5; }
Fungsi Dinamakan Ungkapan:
Contoh:
const foo = function foo() { return 5; }
Perbezaan utama antara pengisytiharan dan ungkapan terletak pada cara pelayar memuatkannya. Pengisytiharan fungsi dinaikkan ke bahagian atas skop dan disediakan sebelum sebarang kod dilaksanakan. Sebaliknya, ungkapan fungsi dimuatkan hanya apabila ditemui oleh jurubahasa JavaScript.
Jika ungkapan fungsi dipanggil sebelum takrifnya, ia akan mengakibatkan ralat kerana ia belum lagi dimuatkan ke dalam konteks pelaksanaan. Sebaliknya, pengisytiharan fungsi sentiasa boleh dipanggil kerana ia tersedia dari permulaan kod.
Secara sejarah, penyemak imbas Safari menghadapi masalah dengan fungsi bernama ungkapan. Sintaks ini pernah menyebabkan ralat, tetapi isu itu telah diselesaikan dalam versi kemudian.
Atas ialah kandungan terperinci Fungsi JavaScript: Pengisytiharan lwn Ungkapan – Apakah Perbezaannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!