Omedelbart åberopat funktionsuttryck i JavaScript
Nu ska vi gå igenom ett tillvägagångssätt som möjliggör att åberopa en funktion direkt på plats för dess deklaration. Denna konstruktion kallas Immediately Invoked Function Expression (IIFE).
Låt oss titta på ett exempel. Låt oss säga att vi har ett funktionellt uttryck som ser ut så här:
let func = function() {
console.log('!');
};
func(); // skriver ut '!'
Låt oss nu inte tilldela vår funktion till en variabel, utan åberopa den omedelbart, " på plats". För att göra detta sätter vi parenteser efter funktionen:
+function() {
console.log('!'); // skriver ut '!'
}();
Närvaron av ett plustecken är i detta fall ett obligatoriskt villkor, eftersom funktionen utan det blir en Function Declaration, och dessa kan inte åberopas på plats (dessutom utan ett namn). Naturligtvis kan i stället för plustecken vad som helst användas, - huvudsaken är att vår funktion är ett funktionellt uttryck.
Avgör, utan att köra koden, vad som kommer att skrivas ut i konsolen:
!function() {
console.log('!');
}();
Avgör, utan att köra koden, vad som kommer att skrivas ut i konsolen:
function() {
console.log('!');
}();