Показать сообщение отдельно
  #33 (permalink)  
Старый 30.11.2014, 11:05
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

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