⊗jsPmCxVS 437 of 505 menu

Konteksti muuttujan kautta JavaScriptissä

Ratkaisu on seuraava: ulommaisessa funktiossa tallennamme this mihin tahansa muuttujaan, ja tämä muuttuja on saatavilla sisäisessä funktiossa, kuten kaikki muuttujat (yleensä tätä muuttujaa kutsutaan self). Näin välitämme this ulommaisesta funktiosta sisäiseen:

"use strict"; let elem = document.querySelector('#elem'); elem.addEventListener('blur', parent); function parent() { console.log(this.value); // tulostaa 'text' let self = this; // tallennetaan this mihin tahansa muuttujaan, esimerkiksi self function child() { console.log(self.value); // tulostaa 'text' } child(); }

Olkoon annettuna tällainen koodi:

<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; } }

Koodin kirjoittaja halusi, että kentän fokuksen menettäessä näytölle tulostettaisiin value-kentän arvon neliö. Kuitenkin jostain syystä fokuksen menettäessä konsoliin ilmestyy virhe. Korjaa koodin kirjoittajan virhe. Kirjoita teksti, jossa annat selityksen koodin kirjoittajalle, miksi hänen virheensä syntyi.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää