⊗jsPmCxVS 437 of 505 menu

JavaScriptда ўзгарувчи орқали контекст

Ечим куйидагича: ташқи функцияда this ни istalgan ўзгарувчига ёзамиз ва бу ўзгарувчи ички функцияда хам қолиб барча ўзгарувчилар каби кира олади (оддата бу ўзгарувчини self дейишади). Шу тариқа биз this ни ташқи функциядан ички функцияга ўтказамиз:

"use strict"; let elem = document.querySelector('#elem'); elem.addEventListener('blur', parent); function parent() { console.log(this.value); // 'text' ни чиқаради let self = this; // this ни istalgan ўзгарувчига, масалан, self га ёзамиз function child() { console.log(self.value); // 'text' ни чиқаради } child(); }

Бундай код берилган бўлсин:

<input id="elem" value="3"> "use strict"; let elem = document.querySelector('#elem'); elem.addEventListener('blur', func); function func() { alert( square() ); function square() { return this.value * this.value; } }

Код муаллифи инпутнинг value идаги рақамнинг квадрати экранга чиқарилишини истаган. Aммо, нима сабабдан бўлса ҳам, ёзиш ўчиғанда консолда хатолик чиқади. Код муаллифининг хатосини Tўғриланг. Сиз код муаллифига унинг хатоси нима сабабдан юз берганини тушунтириб берадиган матн ёзинг.

Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш