JavaScript да функция турини текшириш
Қуйидаги вазифаларда сиз функция Function Declaration ёки Function Expression сифатида аниқланганлигини аниқлашингиз керак бўлади.
Оддий ҳолларда бунни визуал бажариш қийин эмас. Аммо сиз бунни тўғри бажарганингизни қандай текширишингиз мумкин? Function Declaration ёки Function Expression ўртасидаги фарқдан фойдаланинг: биринчилар ўз аниқланишидан юқорида чақирилиши мумкин, иккинчилар эса - мумкин эмас.
Бизда манай бир функция бор дейлик:
let test = function() {
console.log('!');
}
Ушбу функцияга унинг аниқланишидан олдин мурожаат қиламиз:
test(); // консольда хатоликни чиқаради, демак Function Expression
let test = function() {
console.log('!');
}
Яна бир мисол:
func(); // '!' ни чиқаради, демак Function Declaration
function func() {
console.log('!');
}
Функциямизнинг олдига плюс белгисини қўйамиз:
func(); // консольда хатоликни чиқаради, демак Function Expression
+function func() {
console.log('!');
}
Юқоридаги функция Function Expression бўлгани ва у ҳеч қандай ўзгарувчига тенглаштирилмагани сабабли, уни ҳеч қандай йўл билан чақириб бўлмайди, чунки func номи билан у дастурга қулай эмас.
Келтирилган функция Function Declaration ёки Function Expression эканлигини аниқланг:
let test = function func() {
console.log('!');
}
Келтирилган функция Function Declaration ёки Function Expression эканлигини аниқланг:
console.log(
function func() {
console.log('!');
}
);
Келтирилган функция Function Declaration ёки Function Expression эканлигини аниқланг:
+function func() {
console.log('!');
}
Келтирилган функция Function Declaration ёки Function Expression эканлигини аниқланг:
function func() {
console.log('!');
}