Czy kolejka zdarzeń javascript ma priorytet?

W dzisiejszych czasach przeczytałem kilka dokumentów dotyczących setTimeout, setInterval. Dowiedziałem się, że javascript jest pojedynczym wątkiem, który wykona tylko jeden fragment kodu na czas. W tym samym czasie, jeśli zdarzy się zdarzenie, zostanie ono wypchnięte do kolejki zdarzeń i zablokowane do odpowiedniego czasu. Chcę wiedzieć, kiedy wiele zdarzeń jest zablokowanych czekając na wykonanie w tym samym czasie. priorytety, więc zdarzenie o wysokim priorytecie zostanie wykonane przed niskimi. Albo kolejka FIFO.

setTimeout(fn1, 10);
$(document).click(fn2); //will be called at 6ms;
$.ajax({ajaxSuccess(fn3); //async request,it uses 7ms;})

 for () {
    //will run 18ms;
};

W powyższym kodzie setTimeout fn1 stanie się w 10 ms, kliknij obsługi zdarzenia fn2 w 6ms, wywołanie ajax fn3 będzie w 7ms. ale wszystkie trzy funkcje zostaną zablokowane do momentu zakończenia pętli for. Przy 18 ms pętla for zostanie zakończona, więc jaka kolejność tych funkcji zostanie wywołana (fn1, fn2, fn3) lub (fn2, fn3, fn1)

questionAnswers(3)

yourAnswerToTheQuestion