Ungkapan di Sebelah Kiri Fungsi dalam JavaScript
Mari kita lihat kod berikut:
+function func() {
console.log('!');
}
Seperti yang anda sudah tahu, fungsi ini merupakan ungkapan fungsian, walaupun ia diberi nama (kita telah mengetahui bahawa kewujudan nama secara amnya bukan kriteria). Mari kita buangkan tanda tambah ini - dan kita dapat Pengisytiharan Fungsi (Function Declaration):
function func() {
console.log('!');
}
Mari letakkan + pada baris sebelum
fungsi - ia akan menjadi Ungkapan Fungsi (Function Expression) sekali lagi:
+
function func() {
console.log('!');
}
Dan sekarang selepas tanda tambah, mari letakkan nombor 1
dan koma bertitik - fungsi kita akan menjadi Pengisytiharan Fungsi
(Function Declaration):
+1;
function func() {
console.log('!');
}
Kenapa jadi begitu: kerana pada baris pertama tertulis satu arahan yang lengkap, ditutup dengan koma bertitik. Oleh itu, arahan ini tidak memberi kesan kepada fungsi kita.
Sebenarnya, koma bertitik boleh dibuang, kerana dalam JavaScript ia tidak wajib - fungsi itu akan kekal sebagai Pengisytiharan Fungsi (Function Declaration):
+1
function func() {
console.log('!');
}
Namun, jika selepas 1 kita tambah satu lagi
tanda tambah, maka fungsi itu akan menjadi Ungkapan Fungsi (Function Expression):
+1+
function func() {
console.log('!');
}
Kenapa jadi begitu: kerana pada baris pertama terdapat ungkapan yang tidak lengkap - terdapat tanda tambah dan selepasnya tiada apa-apa. Oleh itu, pentafsir JavaScript menganggap bahawa tanda tambah ini merujuk kepada baris di bawah, iaitu fungsi kita.
Jika pada baris pertama terdapat ungkapan yang lengkap, maka JavaScript secara automatik meletakkan koma bertitik padanya dan ungkapan ini tidak memberi kesan kepada fungsi kita.
Tentukan sama ada fungsi yang ditunjukkan adalah Pengisytiharan Fungsi (Function Declaration) atau Ungkapan Fungsi (Function Expression):
-
function func() {
console.log('!');
}
Tentukan sama ada fungsi yang ditunjukkan adalah Pengisytiharan Fungsi (Function Declaration) atau Ungkapan Fungsi (Function Expression):
-1;
function func() {
console.log('!');
}
Tentukan sama ada fungsi yang ditunjukkan adalah Pengisytiharan Fungsi (Function Declaration) atau Ungkapan Fungsi (Function Expression):
-1
function func() {
console.log('!');
}
Tentukan sama ada fungsi yang ditunjukkan adalah Pengisytiharan Fungsi (Function Declaration) atau Ungkapan Fungsi (Function Expression):
1
function func() {
console.log('!');
}
Tentukan sama ada fungsi yang ditunjukkan adalah Pengisytiharan Fungsi (Function Declaration) atau Ungkapan Fungsi (Function Expression):
-1-
function func() {
console.log('!');
}