Фарқиятҳои эълони функсия
Ҳарду усули эълони функсия баробар ҳастанд, аммо фарқияти аҳаммиятмавзе: функсияҳое, ки ҳамчун Function Declaration эълон шудаанд, дастрас хоҳанд буд, ҳатто агар ба онҳо пеш аз он ки эълон карда шаванд, муроҷиат карда шавад.
Намунаро бубинед:
// Ба функсия пеш аз эълони он муроҷиат мекунем:
func(); // '!'-ро хориҷ мекунад
function func() {
console.log('!');
}
Ва ибораҳои функсиявӣ дар лаҳзаи иҷрои рамз сохта мешаванд ва болотар дастрас нестанд. Аз ин рӯ ин гуна рамз хатогӣ медиҳад:
func(); //хатогӣ, чунин функсия ҳанӯз вуҷуд надорад!
let func = function() {
console.log('!');
};
Функсияеро ҳамчун Function Declaration эҷод кунед. Таҳқиқ кунед, ки он болотар аз ҷои эълони худ дастрас хоҳад буд.
Функсияеро ҳамчун Function Expression эҷод кунед. Таҳқиқ кунед, ки он болотар аз ҷои эълони худ дастрас нахоҳад буд.