Durante o curso me veio uma dúvida, como o parâmetro dentro da função sabe que tem que "puxar a referência" do HTML. Por exemplo: Neste código CSS o parâmetro "operacao" não foi declarado, mas ele tem que ser exatamente igual a "+" para realizar a condição. Como ele sabe onde encontrar esse '+' para fazer a comparação sendo que "operacao" não está ligado a ninguém? Tipo, controle veio da classe do HTML '.controle-ajuste', mas 'operacao' não está declarado como nenhuma classe, e ele já compara com o elemento correto.
HTML (Coloquei apenas algumas das linhas do HTML)
ROBOTRON 2000 <section class="box estatisticas">
<div class="estatistica">
<p class="estatistica-titulo">Força</p>
<div class="estatistica-valor">
<p class="estatistica-numero">768</p>
</div>
</div>
<div class="estatistica">
<p class="estatistica-titulo">Poder</p>
<div class="estatistica-valor">
<p class="estatistica-numero">630</p>
</div>
</div>
<div class="estatistica">
<p class="estatistica-titulo">Energia</p>
<div class="estatistica-valor">
<p class="estatistica-numero">289</p>
</div>
</div>
<div class="estatistica">
<p class="estatistica-titulo">Velocidade</p>
<div class="estatistica-valor">
<p class="estatistica-numero">597</p>
</div>
</div>
</section>
<section class="equipamentos">
<form action="" class="montador">
<div class="box montador-conteudo">
<div class="peca">
<label for="" class="peca-titulo">Braços</label>
<div class="controle">
<buttom class="controle-ajuste">-</buttom>
<input type="text" class="controle-contador" value="00" id="braco">
<buttom class="controle-ajuste">+</buttom>
</div>
</div>
<hr class="linha">
<div class="peca">
<label for="" class="peca-titulo">Blindagem</label>
<div class="controle">
<buttom class="controle-ajuste">-</buttom>
<input type="text" class="controle-contador" value="00">
<buttom class="controle-ajuste">+</buttom>
</div>
</div>
<hr class="linha">
CSS:
const controle = document.querySelectorAll('.controle-ajuste')
controle.forEach( (elemento) => { elemento.addEventListener('click', (evento)=> { manipulaDados(evento.target.textContent, evento.target.parentNode) }) });
function manipulaDados(operacao, controle) { const peca = controle.querySelector('.controle-contador') if (operacao ==='+') { peca.value = Number(peca.value) + 1 } else { peca.value = Number(peca.value) - 1 } }