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:

javascriptlet 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:

javascript+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.

Задание 1

Päättele, mitä konsoliin tulostuu, käyttämättä koodin suorittamista:

javascript!function() {
  console.log('!');
}();
Задание 2

Päättele, mitä konsoliin tulostuu, käyttämättä koodin suorittamista:

javascriptfunction() {
  console.log('!');
}();