⊗jsPmDmThsA 357 of 505 menu

this priekšrocība JavaScript

No iepriekš teiktā vēl nav acīmredzama īpašā this priekšrocība. Galu galā apstrādes funkcijas iekšienē tomēr būs pieejams mūsu elements - jo mainīgais elem būs globāls mūsu funkcijai func:

let elem = document.querySelector('#elem'); elem.addEventListener('click', func); function func() { // šeit ir pieejams mainīgais elem ar mūsu elementu }

Un, nav grūti saprast, ka this saturs un mainīgā elem saturs mūsu gadījumā ir vienādi:

let elem = document.querySelector('#elem'); elem.addEventListener('click', func); function func() { console.log(elem === this); // izvadīs true }

Kāda tad ir īpašā this priekšrocība? Tā parādās, kad mums ir vairāki elementi, un katram ir piesaistīta viena un tā pati funkcija.

Apskatīsim piemērā. Pieņemsim, ka mums ir 3 pogas:

<input id="button1" type="submit" value="text1"> <input id="button2" type="submit" value="text2"> <input id="button3" type="submit" value="text3">

Iegūsim to atsauces mainīgajos:

let button1 = document.querySelector('#button1'); let button2 = document.querySelector('#button2'); let button3 = document.querySelector('#button3');

Piesaistīsim šīm pogām vienu un to pašu funkciju:

button1.addEventListener('click', func); button2.addEventListener('click', func); button3.addEventListener('click', func);

Un funkcijas iekšienē izvadīsim this.value:

function func() { console.log(this.value); }

Izrādīsies, ka mums ir trīs pogas. Noklikšķināšana uz katras pogas izraisīs funkcijas func izsaukšanu. Tajā pašā laikā ar katru klikšķi this saturēs atsauci uz to pogu, kurā notika notikums.

Tas ir, katrs noklikšķinājums konsolē izvadīs value no tās pogas, uz kuras notika noklikšķināšana, un to darīs viena un tā pati funkcija func! Lūk, kāda ir this izmantošanas priekšrocība.

Ir doti 5 rindkopas ar kādiem tekstiem. Noklikšķinot uz jebkuras rindkopas, ierakstiet beigās tās teksta izsaukuma zīmi.

Ir doti 3 ievades lauki, kuros ir ierakstīti kādi skaitļi. Pazaudējot fokusu jebkurā no ievades laukiem, kāpiet tajā esošo skaitli kvadrātā.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt