Веднашно повикување на функција во 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('!');
}();