Funkcijas izsaukšana uzreiz JavaScript
Tagad mēs apskatīsim paņēmienu, kas ļauj izsaukt funkciju tieši tās deklarēšanas vietā. Šo konstrukciju sauc par Immediately Invoked Function Expression (IIFE).
Apskatīsim piemēru. Pieņemsim, ka mums ir šāda funkcijas izteiksme:
let func = function() {
console.log('!');
};
func(); // izvadīs '!'
Tagad nepiešķirsim mūsu funkciju mainīgajam, bet izsauksim to uzreiz, "uz vietas". Lai to izdarītu, aiz funkcijas liekam apaļās iekavas:
+function() {
console.log('!'); // izvadīs '!'
}();
Plusa klātbūtne šajā gadījumā ir obligāts nosacījums, jo bez tā funkcija kļūst par Function Declaration, un tās nevar izsaukt uzreiz (vēl vairāk bez nosaukuma). Protams, plusa vietā var būt jebkas cits - galvenais, lai mūsu funkcija būtu funkcijas izteiksme.
Noteikt, nepalaist kodu, ko izvadīs konsolē:
!function() {
console.log('!');
}();
Noteikt, nepalaist kodu, ko izvadīs konsolē:
function() {
console.log('!');
}();