Umiddelbar funktionskald i JavaScript
Nu skal vi se på en teknik, der tillader os at kalde en funktion lige på stedet, hvor den er erklæret. Denne konstruktion kaldes Immediately Invoked Function Expression (IIFE).
Lad os se på et eksempel. Antag, at vi har følgende funktionsudtryk:
let func = function() {
console.log('!');
};
func(); // vil udskrive '!'
Lad os nu ikke tildele vores funktion til en variabel, men kalde den med det samme, "på stedet". For at gøre dette sætter vi parenteser efter funktionen:
+function() {
console.log('!'); // vil udskrive '!'
}();
Tilstedeværelsen af et plusstegn er i dette tilfælde en obligatorisk forudsætning, fordi funktionen uden det vil blive til en Function Declaration, og dem kan man ikke kalde på stedet (især uden et navn). Selvfølgelig kan der stå hvad som helst i stedet for plusstegnet - det vigtigste er, at vores funktion er et funktionsudtryk.
Bestem, uden at køre koden, hvad der vil blive udskrevet i konsollen:
!function() {
console.log('!');
}();
Bestem, uden at køre koden, hvad der vil blive udskrevet i konsollen:
function() {
console.log('!');
}();