Izvršavanje funkcije na mestu u JavaScriptu
Sada ćemo razmotriti tehniku koja omogućava da se funkcija pozove odmah na mestu njenog deklarisanja. Takva konstrukcija se naziva Immediately Invoked Function Expression (IIFE).
Pogledajmo na primeru. Pretpostavimo da imamo ovakav funkcionalni izraz:
let func = function() {
console.log('!');
};
func(); // ispisaće '!'
Hajde sada da ne dodeljujemo našu funkciju u promenljivu, već da je pozovemo odmah, "na mestu". Za to, posle funkcije stavljamo obične zagrade:
+function() {
console.log('!'); // ispisaće '!'
}();
Prisustvo plusa u ovom slučaju je obavezan uslov, jer bez njega funkcija postaje Function Declaration, a one se na mestu (pogotovo bez imena) ne mogu pozivati. Naravno, umesto plusa može biti bilo šta, - glavno je da naša funkcija bude funkcionalni izraz.
Odredite, bez pokretanja koda, šta će biti ispisano u konzolu:
!function() {
console.log('!');
}();
Odredite, bez pokretanja koda, šta će biti ispisano u konzolu:
function() {
console.log('!');
}();