A ordem de execução do código JavaScript é linear, ou seja, o código é executado de cima para baixo, linha por linha. Porém, existem exceções quando há funções assíncronas ou eventos que podem ser acionados em momentos diferentes da execução do código. Exemplo:
console.log("Primeira linha"); setTimeout(function() { console.log("Terceira linha"); }, 2000); console.log("Segunda linha");
Neste exemplo, a saída no console será: "Primeira linha" "Segunda linha" "Terceira linha" (após 2 segundos)