JavaScript-da funksiya turini qanday tekshirish kerak
Quyidagi vazifalarda siz berilgan funksiya Function Declaration yoki Function Expression ekanligini aniqlashingiz kerak bo'ladi.
Oddiy holatlarda buni ko'rib aniqlash qiyin bo'lmaydi. Ammo sizning aniqlashingiz qanday to'g'ri ekanligini qanday tekshirish mumkin? Function Declaration yoki Function Expression o'rtasidagi farqdan foydalaning: birinchilari o'z ta'rifidan oldin chaqirilishi mumkin, ikkinchilari esa - mumkin emas.
Keling, bizda shunday funksiya bo'lsin:
let test = function() {
console.log('!');
}
Keling, bu funksiyani uning ta'rifidan oldin chaqiramiz:
test(); // konsolga xatolik chiqaradi, demak Function Expression
let test = function() {
console.log('!');
}
Yana bir misol:
func(); // '!' chiqaradi, demak Function Declaration
function func() {
console.log('!');
}
Keling, funksiyamiz oldiga ortiqcha belgi qo'shamiz:
func(); // konsolga xatolik chiqaradi, demak Function Expression
+function func() {
console.log('!');
}
Yuqoridagi funksiya Function Expression bo'lgani va u hech qanday o'zgaruvchiga tayinlanmaganligi sababli, uni hech qanday usulda chaqirib bo'lmaydi, chunki func nomi bilan u mavjud emas.
Berilgan funksiya Function Declaration yoki Function Expression ekanligini aniqlang:
let test = function func() {
console.log('!');
}
Berilgan funksiya Function Declaration yoki Function Expression ekanligini aniqlang:
console.log(
function func() {
console.log('!');
}
);
Berilgan funksiya Function Declaration yoki Function Expression ekanligini aniqlang:
+function func() {
console.log('!');
}
Berilgan funksiya Function Declaration yoki Function Expression ekanligini aniqlang:
function func() {
console.log('!');
}