⊗jsPmFTNFE 235 of 505 menu

Nimetatud funktsionaalavaldised JavaScriptis

Oletame, et meil on selline funktsionaalne avaldis:

let test = function() { console.log('!'); }; test(); // väljastab '!'

Anname oma funktsioonile nime func:

let test = function func() { console.log('!'); }; test();

Nagu te juba teate, selle nime abil ei saa funktsioonile pöörduda:

let test = function func() { console.log('!'); }; test(); // väljastab '!' func(); // annab vea

Miks siis funktsioonile nime anda, kui see ei ole väljaspool kättesaadav? Asi on selles, et see nimi on funktsiooni sees kättesaadav, kuigi väljaspool seda mitte.

Kontrollime:

let test = function func() { console.log(func); // funktsioon väljastab oma algse koodi }; test(); // kutsume funktsiooni välja

Kutsume oma funktsiooni välja selle sees:

let test = function func() { console.log('!'); // väljastame '!' func(); // kutsume ennast välja }; test();

Kui see kood käivitada, siis kuvatakse konsooli lõpmatu arv '!' väljundeid.

Tegelikult saab meie funktsiooni kutsuda endas mitte ainult kui func, vaid ka kui test:

let test = function func() { console.log('!'); test(); // kutsume ennast välja }; test();

Mis vahe on? Vahe on selles, et nimi test on lihtsalt muutuja. Skripti töö protsessis võib meie funktsioon kirjutada teise muutuja sisse või edastada parameetrina - sel juhul võib seos muutuja test ja funktsiooni vahel kaduda.

Nimi func on aga funktsiooniga jäigalt seotud spetsiaalselt selleks, et me saaksime oma funktsiooni poole pöörduda selle sees.

Selliseid nimetatud funktsioonivaldiseid kutsutakse nimetatud funktsionaalavaldisteks.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu