Funktionin välitön kutsu JavaScriptissä
Nyt käsittelemme tekniikan, joka mahdollistaa funktion kutsumisen suoraan sen määrittelypaikalla. Tätä rakennetta kutsutaan Immediately Invoked Function Expression (IIFE).
Katsotaanpa esimerkkiä. Oletetaan, että meillä on seuraava funktionaalinen lauseke:
let func = function() {
console.log('!');
};
func(); // tulostaa '!'
Älkäämme nyt sijoittako funktiota muuttujaan, vaan kutsutaan sitä heti, "paikan päällä". Tätä varten laitamme funktion jälkeen pyöreät sulkeet:
+function() {
console.log('!'); // tulostaa '!'
}();
Plussan läsnäolo on tässä tapauksessa pakollinen ehto, koska ilman sitä funktiosta tulee Function Declaration, eikä niitä voi kutsua paikan päällä (saati ilman nimeä). Tietenkin plussan tilalla voi olla mikä tahansa, - pääasia, että funktiomme on funktionaalinen lauseke.
Päättele, mitä konsoliin tulostuu, käyttämättä koodin suorittamista:
!function() {
console.log('!');
}();
Päättele, mitä konsoliin tulostuu, käyttämättä koodin suorittamista:
function() {
console.log('!');
}();