⊗jsPmFTFENIn 233 of 505 menu

JavaScript-de funksional ifadeleriň nyuanslary

Funksion Ifade atlandyrmasy boşuna berilmedik. Bu hakykatdanam şuny aňladýar - ýagny şeýle funksiýalar käbir ifadäniň bir bölegidir.

Mysal üçin, biz käbir setir we atsyz funksiýany goşup bileris:

let str = 'str' + function() {return 3;}; console.log(str); // 'strfunction() {return 3;}' görkezer

Näme üçin biz şeýle bir geň netije görýäris, 3 san däl? Sebäbi ikinji goşulyjy - bu funksiýanyň işiniň netijesi däl, onuň çyndan kody (hatda biz bu funksiýany çagarmadyk, diňe ýazdyk).

Ýagny funksional ifade atlandyrmasy şuny aňladýar, ýagny şeýle bir funksiýa käbir bir ifadäde gatnaşýar.

Üýtgeýjä bellik etmekem ifadedir:

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

Şeýle hem, mysal üçin, funksiýany console.log parametri hökmünde geçirip bileris we ol çyndan kody konsola görkezer - bu hem ifade hasap ediler:

console.log(function() {return 3;});

Bu näme üçin möhüm: sebäbi Funksiýa Deklarasiýasy we Funksion Ifade arasyndaky tapawut doly şeýle däl, ýagny birinji funksiýa ady bilen döredilýär, ikinji bolsa başlangyçda ada eýe däl. Şeýle däl.

Mysal. Şu ýerde bizde ada eýe däl funksiýa bar, ýöne şol bir wagtyň özünde hiç hili ifadede gatnaşmaýar (ýagny ona hiç hili hereket amal edilmeýär, ýöneje düşündirişde):

/* Bu funksiýa Funksiýa Deklarasiýasy bolar, ýöne sintaktik ýalňyşlyk bilen: */ function() { console.log('!'); }

Şeýle kody ümumen ýalňyşlyk görkezer! Näme üçin: şeýle bolsa funksiýa hiç hili ifadede gatnaşmaýar, şonda brauzer ony Funksiýa Deklarasiýasy hasaplaýar, ýöne onuň adyny tapmaýar we ýalňyşlyk görkezýär.

Ýalňyşlygyň ýitmegi üçin, funksiýanyň käbir ifadäniň bir bölegi bolmagyna mejbur etmeli. Mysal üçin, onyň öňünde + amalyny ýazýarys:

+function() { // şeýle kod dogry console.log('!'); };

Bu nädip işleýär: + amaly özi hiç zat etmeýär, bu diňe şeýle ýazmak ýaly 3 sanynyň ýerine +3 san - ýöňke, ýöne hiç zat üýtgetmeýär.

Ýöne funksiýa bilen bolsa - üýtgedýär. Indi bizim funksiýamyz diňe ýazylyp galmaýar, eýsem ifadede gatnaşýar. Şonuň üçin indi ýalňyşlyk bolmaz. Funksiýanyň işleniş netijesi hem bolmaz, hatda biz ony diňe ýazdyk, ýöne çagarmadyk.

+-iň ýerine islendik zat ýazyp bolýar. Mysal üçin:

-function() { // şeýle kod dogry console.log('!'); }; !function() { // şeýle kod dogry console.log('!'); };

Şeýle hem, funksiýamyzy aýlawly skobkalyryp alyp bolýar, bu ýagdaýda hem ol funksional ifade bolar:

(function() { // şeýle kod dogry console.log('!'); });

Görkezilen funksiýanyň Funksiýa Deklarasiýasy ýa-da Funksion Ifade dygyny kesgitläň:

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

Görkezilen funksiýanyň Funksiýa Deklarasiýasy ýa-da Funksion Ifade dygyny kesgitläň:

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

Görkezilen funksiýanyň Funksiýa Deklarasiýasy ýa-da Funksion Ifade dygyny kesgitläň:

+function() { console.log('!'); }

Görkezilen funksiýanyň Funksiýa Deklarasiýasy ýa-da Funksion Ifade dygyny kesgitläň:

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

Görkezilen funksiýanyň Funksiýa Deklarasiýasy ýa-da Funksion Ifade dygyny kesgitläň:

-function func() { console.log('!'); }

Görkezilen funksiýanyň Funksiýa Deklarasiýasy ýa-da Funksion Ifade dygyny kesgitläň:

1 + function func() { console.log('!'); }

Görkezilen funksiýanyň Funksiýa Deklarasiýasy ýa-da Funksion Ifade dygyny kesgitläň:

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

Görkezilen funksiýanyň Funksiýa Deklarasiýasy ýa-da Funksion Ifade dygyny kesgitläň:

console.log( function() { console.log('!'); } );
Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et