Ֆունկցիայի անմիջական կանչ JavaScript-ում

Այժմ մենք կքննարկենք այն հնարքը, որը թույլ է տալիս կանչել ֆունկցիան անմիջապես դրա հայտարարության տեղում: Նման կոնստրուկցիան կոչվում է Immediately Invoked Function Expression (IIFE):

Եկեք նայենք օրինակով: Ենթադրենք՝ մենք ունենք հետևյալ ֆունկցիոնալ արտահայտությունը.

javascriptlet func = function() {
  console.log('!');
};

func(); // կարտածի '!'

Եկեք այժմ չվերագրենք մեր ֆունկցիան փոփոխականի, այլ կանչենք այն անմիջապես, "անմիջական": Դրա համար ֆունկցիայից հետո դնենք կլոր փակագծեր.

javascript+function() {
  console.log('!'); // կարտածի '!'
}();

Պլյուսի առկայությունը այս դեպքում պարտադիր պայման է, քանի որ առանց դրա ֆունկցիան կդառնա Function Declaration, որոնք անմիջական (ինչպես նաև առանց անվան) կանչել հնարավոր չէ: Իհարկե, պլյուսի փոխարեն կարող է լինել ցանկացած այլ բան, - գլխավորն այն է, որ մեր ֆունկցիան լինի ֆունկցիոնալ արտահայտություն:

Задание 1

Որոշեք՝ առանց կոդը գործարկելու, թե ինչ կարտածվի կոնսոլում.

javascript!function() {
  console.log('!');
}();
Задание 2

Որոշեք՝ առանց կոդը գործարկելու, թե ինչ կարտածվի կոնսոլում.

javascriptfunction() {
  console.log('!');
}();