⊗jsPmDmThsA 357 of 505 menu

This pranašumas JavaScript

Iš ankstesnio pasakyto dar neaiškus ypatingas this pranašumas. Juk viduje įvykio apdorojimo funkcijos mūsų elementas ir taip bus prieinamas - juk kintamasis elem bus globalus mūsų funkcijai func:

let elem = document.querySelector('#elem'); elem.addEventListener('click', func); function func() { // čia prieinamas kintamasis elem su mūsų elementu }

Ir, nesunku suprasti, kad this turinys ir kintamojo elem turinys mūsų atveju yra lygūs:

let elem = document.querySelector('#elem'); elem.addEventListener('click', func); function func() { console.log(elem === this); // išves true }

Koks gi yra ypatingas this pranašumas? Jis pasireiškia, kai mes turime kelis elementus, ir prie kiekvieno yra pririšta ta pati funkcija.

Pažiūrėkime pavyzdžiu. Tarkime, mes turime 3 mygtukus:

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

Gaukime nuorodas į juos į kintamuosius:

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

Pririškime prie šių mygtukų tą pačią funkciją:

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

O viduje funkcijos išvesime this.value:

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

Taigi, mes turime tris mygtukus. Paspaudimas ant kiekvieno mygtuko sukels funkcijos func iškvietimą. Tuo pat metu kiekvienu kliku this talpins nuorodą į tą mygtuką, kuriame įvyko įvykis.

Tai yra kiekvienas paspaudimas išves į konsolę value to mygtuko, ant kurio įvyko paspaudimas, bet tai darys ta pati funkcija func! Štai koks yra this naudojimo pranašumas.

Duoti 5 pastraipos su kažkokiais tekstais. Paspaudus ant bet kurios pastraipos, įrašykite į jos pabaigą šauktuką.

Duoti 3 įvesties laukai, kuriuose įrašyti kažkokie skaičiai. Praradus fokusą bet kuriame įvesties lauke, pakelkite jame esantį skaičių kvadratu.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti