1. Anonüümsed funktsioonid

Kirjeldus
Anonüümsed funktsioonid on nimeta funktsioonid, mis luuakse ja kasutatakse kohe samas kohas.
Neid kasutatakse sageli ühekordsete toimingute jaoks — näiteks massiivide töötlemisel, sündmuste kuulamisel või ajastatud käivitamisel.
Selgitus
- Luua saab väljendiga
function() { ... }, mida saab omistada muutujale. - Funktsiooni saab välja kutsuda (
muutujaNimi()), või anda edasi teisele funktsioonile argumendina. - Levinud kasutusalad:
setTimeout,forEach,mapjne. - IIFE (Immediately Invoked Function Expression) on anonüümne funktsioon, mis käivitub kohe pärast loomist.
Konsoli väljund
- „Tere maailm!” — anonüümse funktsiooni väljakutse.
- Summa arvutamine kahe argumendiga funktsioonis.
- Massiivi elementide väljastamine
forEachabil. - „IIFE töötab, x = 10” — näide kohe käivitatavast funktsioonist.
- „Tere pärastlõunast!” — anonüümne funktsioon
setTimeoutsees.
var tervita = function() {
console.log("Tere maailm!");
};
tervita();
//
var summa = function(a, b) {
return a + b;
};
//
setTimeout(function() {
console.log("Tere pärastlõunast!");
}, 1000);
//
var array = [1, 2, 3, 4, 5];
array.forEach(function(element, index) {
console.log("Element:", element, "Index:", index);
});
//
(function() {
var x = 10;
console.log("IIFE töötab, x =", x);
})();
2. Noolefunktsioonid

Kirjeldus
Noolefunktsioonid (arrow functions) on lühem ja kaasaegsem viis anonüümsete funktsioonide kirjutamiseks.
Need võeti kasutusele ES6-s ja muudavad koodi lühemaks ning loetavamaks.
Selgitus
- Kasutavad süntaksit
() => { ... }. - Kui funktsioonis on vaid üks käsk, võib jätta ära
{}jareturn. - Kui on ainult üks argument, võib jätta ära sulud ümber argumendi.
- Sobivad hästi meetoditega nagu
map,filter,forEachjne. - Ei loo uut
thiskonteksti — pärivad selle ümbritsevast koodist.
Konsoli väljund
- „Tere noolfunktsioon!” — lihtne noolefunktsioon ilma argumentideta.
- „Tere Mari” — noolefunktsioon ühe argumendiga.
- „3 + 5 = 8” — funktsioon, mis tagastab väärtuse.
- „1 on paaritu”, „2 on paaris” jne — näide noolefunktsioonist massiivi läbimisel.
const noolFunktsioon = () => console.log("Tere noolfunktsioon!");
noolFunktsioon();
let tervitaNool = nimi => console.log(`Tere ${nimi}`);
tervitaNool("Mari");
let liitmine = (a, b) => a + b;
console.log("3 + 5 =", liitmine(3,5));
const arvud = [1, 2, 3, 4, 5];
arvud.forEach(nr => {
const paaris = nr % 2 === 0 ? "paaris" : "paaritu";
console.log(`${nr} on ${paaris}`);
});
3. Tagasikutsumisfunktsioonid (Callback-funktsioonid)

Kirjeldus
Callback ehk tagasikutsumisfunktsioon on funktsioon, mis antakse teisele funktsioonile argumendina ja käivitatakse hiljem, kui mingi tegevus on lõpule viidud.
See on JavaScripti asünkroonse töö aluspõhimõte.
Selgitus
forEach()puhul kutsutakse callback iga massiivi elemendi jaoks.- Näites
setTimeout()simuleerib andmepäringut (nagu AJAX):
funktsioonteostaAJAXPäring()ootab 2 sekundit ja siis kutsub tagasi saadetud funktsiooni, andes talle tulemuse („Vastus andmebaasist”). - Selline lähenemine võimaldab kirjutada koodi, mis reageerib sündmustele hiljem (nt andmete laadimine, kasutaja klikk, serveri vastus).
Konsoli väljund
<li>Kati</li>,<li>Marta</li>jne —forEachabil loodud HTML-elemendid.- „Vastus saadud: Vastus andmebaasist” — callback-funktsioon käivitub pärast viivitust.
let nimed = ["Kati", "Marta", "Andres", "Jüri", "Liisa"];
nimed.forEach(nimi => console.log(`<li>${nimi}</li>`));
//
const teostaAJAXPäring = (url, callback) => {
setTimeout(() => {
const vastus = "Vastus andmebaasist";
callback(vastus);
}, 2000);
};
const callbackFunktsioon = vastus => {
console.log("Vastus saadud:", vastus);
};
teostaAJAXPäring("https://api.example.com/data", callbackFunktsioon);
Ülesanne:
1. Erinevad funktsioonid

Kirjeldus
See ülesanne demonstreerib klassikalist funktsiooni ja noolefunktsiooni ilma argumentideta.
Eesmärk on näidata, kuidas saab funktsioone luua ja kutsuda.
Selgitus
- Klassikaline funktsioon (
function) võimaldab funktsiooni defineerida nimega ja seda kutsuda. - Noolefunktsioon (
=>) on lühem viis sama tegevuse jaoks. - Mõlemad versioonid täidavad sama ülesannet: kuvavad sinu nime konsoolis.
// Klassikaline funktsioon
function minuNimi() {
console.log("Minu nimi on Nikita");
}
minuNimi();
// Noolefunktsioon
const minuNimiNoolega = () => {
console.log("Minu nimi on Nikita");
};
minuNimiNoolega();
2. Argumendiga funktsioon — kuupäevEesti
📖 Kirjeldus
Funktsioon kuupaevEesti võtab argumendiks kuupäeva stringina ja kuvab selle kuupäeva eesti keeles.
🧠 Selgitus
Funktsioon väljastab kuupäeva korrektse kuupäev-kuu-aasta vormingus.
Kuupäeva string jagatakse päevaks, kuuks ja aastaks (split).
Kuunumber teisendatakse indeksiks eesti keelse kuu nime massiivis.

