Чӣ тавр навъи функсияро дар 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('!');
}