⊗jsPmCxVS 437 of 505 menu

JavaScript'те өзгөрмө аркылуу контекст

Чечим төмөнкүдөй: сырткы функцияда this ти каалаган өзгөрмөгө жазып койсок, бул өзгөрмө ички функцияда, бардык өзгөрмөлөрдөй эле, жеткиликтүү болот (адатта бул өзгөрмө self деп аталат). Ошентип, биз this ти сырткы функциядан ички функцияга өткөрөбүз:

"use strict"; let elem = document.querySelector('#elem'); elem.addEventListener('blur', parent); function parent() { console.log(this.value); // 'text' чыгарат let self = this; // this'ти каалаган өзгөрмөгө жазабыз, мисалы, 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 сандарынын квадраты чыгуусун каалаган. Бирок, эмне үчүн болбосун, фокус жоголгондо консольго ката чыгат. Код авторунун катасын оңдоп, текст жазыңыз. Анда сиз код авторуна, анын катасынын кайдан келип чыкканын түшүндүрүп бересиз.

Кыргызча
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČ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
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу