⊗jsPmDmThsA 357 of 505 menu

Zalety this w JavaScript

Z dotychczasowych rozważań nie wynika jeszcze szczególna zaleta this. W końcu wewnątrz funkcji obsługi zdarzenia nasz element i tak będzie dostępny - ponieważ zmienna elem będzie globalna dla naszej funkcji func:

let elem = document.querySelector('#elem'); elem.addEventListener('click', func); function func() { // tutaj dostępna jest zmienna elem z naszym elementem }

I nietrudno się domyślić, że zawartość this i zawartość zmiennej elem w naszym przypadku są równe:

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

Na czym więc polega szczególna zaleta this? Ujawnia się ona, gdy mamy kilka elementów, do których podpięta jest ta sama funkcja.

Spójrzmy na przykład. Załóżmy, że mamy 3 przyciski:

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

Pobierzmy referencje do nich do zmiennych:

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

Podepnijmy do tych przycisków tę samą funkcję:

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

A wewnątrz funkcji wypisujmy this.value:

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

Okaże się, że mamy trzy przyciski. Kliknięcie każdego przycisku będzie powodować wywołanie funkcji func. Przy tym przy każdym kliknięciu this będzie zawierać referencję do tego przycisku, w którym wystąpiło zdarzenie.

Czyli każde kliknięcie będzie wypisywać w konsoli value tego przycisku, na którym nastąpiło kliknięcie, ale robić to będzie jedna i ta sama funkcja func! Oto zaleta używania this.

Dane są 5 akapitów z jakimiś tekstami. Po kliknięciu w dowolny akapit dopisz na końcu jego tekstu wykrzyknik.

Dane są 3 inputy, w których zapisane są jakieś liczby. Po utracie fokusu w dowolnym inpucie podnieś stojącą w nim liczbę do kwadratu.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć