Вам как JavaScript-ерам должна быть знакома технология серверного JavaScript - 
NODE.js, вот 
здесь часть идеологии асинхронности...
Более того, не хотел бы с вами спорить, но видимо вы заблуждаетесь...
	
	| 
		
			Сообщение от Gvozd
			
		
	 | 
	| 
		когда они смогут выполниться.
	 | 
	
не когда они смогут, а тогда когда они 
должны будут выполниться - в этом суть асинхронности (таймеры и коллбэки). 
Т.е. по наступлению 
события или таймера, исполнение 
текущего контекста приостанавливается, и исполняется контекст
 назначенный, после чего 
возобновляется выполнение текущего... 
В нашем-же случае setTimeout и setInterval являются таймерами, но они не  останавливают выполнение основного контекста, а покорно ждут пока контекст исполнится...