Asincronicità del modello event-driven in JavaScript

Sai che con il metodo addEventListener puoi iscriverti a vari eventi che si verificano negli elementi della pagina. Ad esempio, iscriviamoci al click su un certo elemento, il cui riferimento è memorizzato nella variabile elem:

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

console.log('2');

Nel codice sopra, sarà prima eseguita la seconda stampa in console. Quando verrà eseguita la prima? Un giorno: l'esecuzione di questo codice attende il verificarsi dell'evento - il click sull'elemento. Non appena questo accadrà, il nostro codice verrà eseguito.

Задание 1

Spiega in quale ordine i numeri verranno stampati in console:

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