Assincronicidade do Modelo de Eventos em JavaScript

Você sabe que com o método addEventListener é possível se inscrever para vários eventos que ocorrem nos elementos da página. Por exemplo, vamos nos inscrever para o clique em algum elemento, cuja referência está armazenada na variável elem:

javascriptelem.addEventListener('click', function() {
  console.log('1');
});

console.log('2');

No código acima, a segunda impressão no console será executada primeiro. Quando a primeira será executada? Em algum momento: a execução desse código aguarda a ocorrência do evento - o clique no elemento. Assim que isso acontecer, nosso código será executado.

Задание 1

Explique em qual ordem os números serão exibidos no console:

javascriptelem1.addEventListener('click', function() {
  console.log('1');
});
elem2.addEventListener('click', function() {
  console.log('2');
});