JavaScriptда функцияни жойида чакириш
Ҳозир биз функцияни уни эълон қилиш жойидаёқ чақириш имконини берадиган усулни ўрганамиз. Бундай конструкция Immediately Invoked Function Expression (IIFE) деб аталади.
Келгинг, мисолда кўрамиз. Бизда мана бундай функционал ифода бор деб фарз қилайлик:
let func = function() {
console.log('!');
};
func(); // '!' чиқади
Келгинг, энди биз функцияни ўзгартувчига тенгламаймиз, балки уни дароҳ, "жойида" чақирайлик. Бунинг учун функциядан кейин текис қавш қўямиз:
+function() {
console.log('!'); // '!' чиқади
}();
Бу ҳолда плюснинг мавжудлиги мажбурий шарт ҳисобланади, чунки унсиз функция Function Declaration бўлиб қолади, уларни жойида (ҳатто nomsiz) чақириб бўлмайди. Албатта, плюс ўрнига исталган нарса бўлиши мумкин, - асосийси, бизнинг функциямиз функционал ифода бўлиши керак.
Кодни ишга туширмасдан, консолга нима чиқишини аниқланг:
!function() {
console.log('!');
}();
Кодни ишга туширмасдан, консолга нима чиқишини аниқланг:
function() {
console.log('!');
}();