⊗jsPmFTNFE 235 of 505 menu

Nosauktās funkcionālās izteiksmes JavaScript

Pieņemsim, ka mums ir šāda funkcionālā izteiksme:

let test = function() { console.log('!'); }; test(); // izvadīs '!'

Piešķirsim mūsu funkcijai vārdu func:

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

Kā jūs jau zināt, pēc šī vārda nevar piekļūt funkcijai:

let test = function func() { console.log('!'); }; test(); // izvadīs '!' func(); // izvadīs kļūdu

Kāpēc tad dot funkcijai vārdu, ja tas nebūs pieejams? Lieta ir tāda, ka šis vārds būs nepieejams no ārpuses funkcijai, bet pieejams tajā pašā funkcijas iekšienē.

Pārbaudīsim:

let test = function func() { console.log(func); // funkcija izvadīs savu pašas pirmavota kodu }; test(); // izsaucam funkciju

Izsauksim mūsu funkciju tajā pašā iekšienē:

let test = function func() { console.log('!'); // izvadām '!' func(); // izsaucam paši sevi }; test();

Ja palaist šo kodu, tad konsolē tiks izvadīts bezgalīgs daudzums izvadu konsolē.

Patiesībā mūsu funkcija var tikt izsaukta pašas iekšienē ne tikai kā func, bet arī kā test:

let test = function func() { console.log('!'); test(); // izsaucam paši sevi }; test();

Kāda tad ir atšķirība? Atšķirība ir tāda, ka vārds test - ir tikai mainīgais. Procesā skripta darbības laikā mūsu funkcija var tikt ierakstīta citā mainīgajā vai nodota kā parametrs - šajā gadījumā saikne starp mainīgo test un funkciju var pazust.

Vārds func ir stingri piesaistīts funkcijai īpaši tam, lai varētu piekļūt mūsu funkcijai tajā pašā iekšienē.

Šādas Function Expression ar funkcijas nosaukumu tiek sauktas par nosauktajām funkcionālajām izteiksmēm.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt