Funkcijos iškartinis iškvietimas JavaScript
Dabar išnagrinėsime metodą, kuris leidžia iškviesti funkciją tiesiog jos deklaravimo vietoje. Ši konstrukcija vadinama Immediately Invoked Function Expression (IIFE).
Pažiūrėkime į pavyzdį. Tarkime, kad turime tokią funkcinę išraišką:
let func = function() {
console.log('!');
};
func(); // išves '!'
Dabar nepriskirkime mūsų funkcijos kintamajam, o iškvieskime ją iš karto, "vietoje". Tam po funkcijos pastatykime apvalius skliaustus:
+function() {
console.log('!'); // išves '!'
}();
Pliuso buvimas šiuo atveju yra privaloma sąlyga, nes be jo funkcija taptų Function Declaration, o jų vietoje (be to be vardo) iškviesti negalima. Žinoma, vietoj pliuso gali būti bet kas, - svarbiausia, kad mūsų funkcija būtų funkcine išraiška.
Nustatykite, nepalydedami kodo, kas bus išvesta į konsolę:
!function() {
console.log('!');
}();
Nustatykite, nepalydedami kodo, kas bus išvesta į konsolę:
function() {
console.log('!');
}();