13 of 17 menu

JavaScript-daky ok çyzykly işleýjiniň this ýalňyşlygy

Soňky wagtlar her ýerde adaty funksiýalaryň ornuna ok çyzykly funksiýalary ulanylmak moda boldy. Emma bu funksiýalaryň bir aýawly tarapy bar - olar this-i saklamaz. Gelňi, bu sebäpli ýüze çykyp bilýän meseläni göreliň.

Bizde bir düwme bolsun:

<button>text</button>

Bu düwmäniň salgysyny üýtgeýjide alalyň:

let button = document.querySelector('button');

Düwmäni ok çyzykly funksiýany ulanyp, waka işleýjisini birikdireliň:

button.addEventListener('click', () => { console.log(this.textContent); });

Şu ýerde bizi gözleýän syn: ok çyzykly funksiýadaky this, wakanyň bolup geçen elementine degişli bolmaz.

Gelňi, bu bilen näme edip boljakdygyna göz aýlalyň.

Birineji çözgüt

this ulanylmagy bes edip, wakanyň birikdirilen üýtgeýjisinden peýdalanyp bolar:

button.addEventListener('click', () => { console.log(button.textContent); });

Ikinji çözgüt

Wakanyň birikdirilen elementini event.target arkaly alyp bolar:

button.addEventListener('click', (event) => { console.log(event.target.textContent); });

Üçünji çözgüt

Ok çyzykly funksiýany bes edip, adaty funksiýany ulanyp bolar:

button.addEventListener('click', function() { console.log(this.textContent); });
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