⊗jsPmDmThsA 357 of 505 menu

A vantagem do this em JavaScript

Com base no que foi dito anteriormente, a vantagem especial do this ainda não é óbvia. Afinal, dentro da função de callback o nosso elemento já estará acessível - já que a variável elem será global para a nossa função func:

let elem = document.querySelector('#elem'); elem.addEventListener('click', func); function func() { // aqui a variável elem com o nosso elemento está acessível }

E, não é difícil perceber, que o conteúdo do this e o conteúdo da variável elem no nosso caso são iguais:

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

Então, qual é a vantagem especial do this? Ela se manifesta quando temos vários elementos, e a mesma função está vinculada a cada um deles.

Vamos ver um exemplo. Suponha que temos 3 botões:

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

Vamos obter referências para eles em variáveis:

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

Vamos vincular a mesma função a estes botões:

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

E dentro da função, vamos exibir this.value:

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

O resultado é que temos três botões. Clicar em qualquer botão fará com que a função func seja chamada. Ao mesmo tempo, a cada clique, o this conterá a referência ao botão no qual o evento ocorreu.

Ou seja, cada clique exibirá no console o value do botão que foi clicado, e isso será feito pela mesma função func! Essa é a vantagem de usar o this.

Existem 5 parágrafos com alguns textos. Ao clicar em qualquer parágrafo, adicione um ponto de exclamação ao final do seu texto.

Existem 3 inputs, nos quais estão escritos alguns números. Ao perder o foco em qualquer um dos inputs, eleve o número nele contido ao quadrado.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar