Funktio muuttujana JavaScriptissä

Siis, edellisessä oppitunnissa havaitsimme, että viitattaessa funktioon ilman pyöreitä sulkeita, saamme sen lähdekoodin.

Itse asiassa kaikki on paljon mielenkiintoisempaa. JavaScriptissä, toisin kuin muissa kielissä, funktiot ovat samankaltaisia muuttujaarvoja kuin numerot, merkkijonot ja taulukot.

Katsotaanpa esimerkkiä. Olkoon meillä esimerkiksi funktio func:

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

Oikeastaan meillä ei ole funktiota func. Meillä on muuttuja func, joka tallentaa funktion lähdekoodin.

Voimme esimerkiksi ylikirjoittaa muuttujan func jollain muulla, esimerkiksi merkkijonolla. Tässä tapauksessa funktio func ei enää ole funktio, vaan merkkijono. Katso esimerkki:

javascriptfunction func() {
  console.log('!');
}
func(); // tulostaa '!'

func = 'string'; // ylikirjoitetaan muuttuja func
console.log(func); // tulostaa 'string'
Задание 1

Tee funktio func, joka palauttaa return:illa jonkin merkkijonon.

Задание 2

Tulosta funktion func toiminnan tulos konsoliin.

Задание 3

Tulosta funktion func lähdekoodi konsoliin.

Задание 4

Tallenna muuttujaan func luku 123, ylikirjoittaen näin funktion tästä muuttujasta. Tulosta muuttujan func uusi arvo konsoliin.