Você está na página 1de 2

Eventos em Javascript

Olá! Agora a conversa é sobre eventos em Javascript.


Internamente, o Javascript possui um motor interno (um engine) que coordena
o processamento de todas as requisições que recebe. Um dos recursos mais
importantes deste motor é o denominado “loop de eventos”. O “loop de
eventos”, como o próprio nome diz, é um laço que fica continuamente à espera
da ocorrência de eventos que tenham algum tratamento associado. Sim, pois
de nada adianta tratar um evento se não tiver alguém interessado nele. Assim,
é como se as aplicações assinassem os eventos que desejam tratar, e ao
realizar essa assinatura, o Javascript mantém uma associação entre o evento e
a função de tratamento da aplicação. Quando o evento ocorre, o motor do
Javascript se encarrega de chamar a função de tratamento associada.
Por exemplo, imagine que seja associado o evento onclick de um botão em um
código HTML a uma função denominada play. Ao fazer essa associação, o
motor do Javascript mantém internamente uma associação entre o evento e a
correspondente função de tratamento. Assim, quando o botão for clicado, o
loop de eventos identifica a ocorrência do evento onclick neste elemento,
verifica que a função play está associada a ele e a executa. Observe que não é
possível associar mais de uma função de tratamento a um mesmo evento.
Além dos eventos de interação do usuário com os elementos visíveis, também
os eventos de temporização são controlados pelo loop de eventos. Quando é
chamada a função setTimeout, o motor do Javascript registra a função de
tratamento e também registra o horário exato em que ela deve ser chamada.
Quando chega o horário programado, o motor do Javascript chama a função
associada.
Funções de tratamento de eventos de temporização são exemplos de callback.
Denomina-se callback uma função que é chamada assincronamente. Isso
significa que a chamada da função de tratamento ocorrerá a partir de uma
condição que ocorrerá de forma independente do código em execução, como o
disparo de um timer ou a conclusão de uma ação em segundo plano, como é o
caso de uma requisição AJAX. No caso do AJAX, a requisição é enviada para
um servidor externo, quando chega a resposta o loop de eventos identifica que
há uma função de tratamento associada e a chama.
Bem, é isso para o momento! Agora você já tem mais informações sobre
eventos em Javascript, o loop de eventos e callbacks! Continue seus estudos,
pois há muitas outras coisas para descobrir!

Você também pode gostar