Ֆունկցիայի անմիջական կանչ JavaScript-ում
Այժմ մենք կքննարկենք այն հնարքը, որը թույլ է տալիս կանչել ֆունկցիան անմիջապես դրա հայտարարության տեղում: Նման կոնստրուկցիան կոչվում է Immediately Invoked Function Expression (IIFE):
Եկեք նայենք օրինակով: Ենթադրենք՝ մենք ունենք հետևյալ ֆունկցիոնալ արտահայտությունը.
let func = function() {
console.log('!');
};
func(); // կարտածի '!'
Եկեք այժմ չվերագրենք մեր ֆունկցիան փոփոխականի, այլ կանչենք այն անմիջապես, "անմիջական": Դրա համար ֆունկցիայից հետո դնենք կլոր փակագծեր.
+function() {
console.log('!'); // կարտածի '!'
}();
Պլյուսի առկայությունը այս դեպքում պարտադիր պայման է, քանի որ առանց դրա ֆունկցիան կդառնա Function Declaration, որոնք անմիջական (ինչպես նաև առանց անվան) կանչել հնարավոր չէ: Իհարկե, պլյուսի փոխարեն կարող է լինել ցանկացած այլ բան, - գլխավորն այն է, որ մեր ֆունկցիան լինի ֆունկցիոնալ արտահայտություն:
Որոշեք՝ առանց կոդը գործարկելու, թե ինչ կարտածվի կոնսոլում.
!function() {
console.log('!');
}();
Որոշեք՝ առանց կոդը գործարկելու, թե ինչ կարտածվի կոնսոլում.
function() {
console.log('!');
}();