⊗jsPmFTNFE 235 of 505 menu

JavaScript-də Adlandırılmış Funksiya İfadələri

Tutaq ki, bizim belə bir funksiya ifadəsi var:

let test = function() { console.log('!'); }; test(); // '!' çap edəcək

Gəlin funksiyamıza func adı verək:

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

Artıq bildiyiniz kimi, bu adla funksiyaya müraciət etmək olmaz:

let test = function func() { console.log('!'); }; test(); // '!' çap edəcək func(); // xəta verəcək

Əlçatan olmayacaqsa, funksiyaya niyə ad vermək lazımdır? Məsələ ondadır ki, bu ad funksiyanın xaricində əlçatan olmayacaq, lakin funksiyanın daxilində əlçatan olacaq.

Gəlin yoxlayaq:

let test = function func() { console.log(func); // funksiya öz mənbə kodunu çap edəcək }; test(); // funksiyanı çağırırıq

Gəlin funksiyamızı onun daxilində özü çağıraq:

let test = function func() { console.log('!'); // '!' çap edirik func(); // özümüzü çağırırıq }; test();

Əgər bu kodu işə salsaq, konsola qeyri-məhdud sayda çap olunacaq.

Əslində, bizim funksiyamız özü daxilində təkcə func kimi deyil, həm də test kimi çağırıla bilər:

let test = function func() { console.log('!'); test(); // özümüzü çağırırıq }; test();

Fərq nədədir? Fərq ondadır ki, test adı sadəcə dəyişəndir. Skriptin işləməsi prosesində bizim funksiyamız başqa dəyişənə yazıla bilər və ya parametr kimi ötürülə bilər - bu zaman test dəyişəni ilə funksiya arasındakı əlaqə itirilə bilər.

func adı isə xüsusi olaraq funksiyanın öz daxilində özünə müraciət edə bilməsi üçün sərt şəkildə funksiyaya bağlıdır.

Funksiya adı olan belə Funksiya İfadələri adlandırılmış funksiya ifadələri adlanır.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et