| 
		
			Сообщение от bes
			
		
	 | 
	| 
		я правильно понял, что ты утверждаешь, что первый параметр setTimeout, то есть func или code из цитаты ниже будет вычислен в момент вызова setTimeout?
	 | 
	
Попытаюсь объяснить совсем на пальцах 
небольшой пример «setTimeout ( a + b , 100 )» 
это вызов функции в котором первым параметром идет JS выражение и оно будет вычислено еще до вызова функции 
В случае  «setTimeout ( function () {} , 100 )» первым параметром тоже идет выражение и оно так же будет вычислено (интерпретировано) до вызова setTimeout результатом вычисления данного выражения будет функция 
т.е. по пунктам: 
1. вычисляется выражение JS (выражение возвращает безыменную функцию)
2. происходит вызов setTimeout 
3. наступает событие timeout в котором происходит вызов безымянной функции