Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 14.11.2013, 00:31
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от Bombus
Мне показалось что в вашем коде пропущена строка
point = 'finish';
в конце функции printNumbersInterval20_100, т.к. в логах занчения point чередуются между 'start' и 'finish'.
Нет, я эту строку убрал специально, чтоб показать, что "немного измененный вариант исходного кода" ни о чем не говорит. Он лишь говорит, что строка 8 срабатывает быстрее, чем строка 6 в первый раз. Чередование показал, чтоб было нагляднее, как это работает.
Ответить с цитированием
  #12 (permalink)  
Старый 14.11.2013, 00:55
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от Rise
Потому что выполнение кода не останавливается на timerId а идет дальше выполняя point = 'finish' (timerId запускается через 100мс), поэтому в логах полный finish.
Я в курсе. Именно это и втолковывать пытаюсь
Ответить с цитированием
  #13 (permalink)  
Старый 14.11.2013, 01:10
Новичок на форуме
Отправить личное сообщение для Bombus Посмотреть профиль Найти все сообщения от Bombus
 
Регистрация: 13.11.2013
Сообщений: 6

Все же вопроса про finish и не было. Весь вопрос был в механизме передачи данных для функции выполняемой по таймеру. Когда читал статью в учебнике, там было сказано: "Вызов через setTimeout не передаёт контекст this. В частности, вызов метода объекта через setTimeout сработает в глобальном контексте". Т.е. можно предположить, что раз this не передается, да и контекст выполнения глобальный, то переменная i (из примера) передаваться не должна. А она по факту передавалась, пример работал.
Ответить с цитированием
  #14 (permalink)  
Старый 14.11.2013, 08:35
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,230

Сообщение от Bombus
предложу немного измененный вариант исходного кода
Т.е. разницы между первым вариантом и вторым ты не улавливаешь?

Последний раз редактировалось ksa, 14.11.2013 в 08:38.
Ответить с цитированием
  #15 (permalink)  
Старый 14.11.2013, 08:37
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,230

Сообщение от Bombus
Т.е. можно предположить, что раз this не передается, да и контекст выполнения глобальный, то переменная i (из примера) передаваться не должна.
Причем тут полотенце?! (с)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При вычислении значения функции страница зависает Nellie Ваши сайты и скрипты 1 08.04.2013 22:04
хитросплетения Global,контекст,this,Reference kefi Общие вопросы Javascript 109 20.11.2009 23:34
Замыкание - это... Zeroglif Общие вопросы Javascript 11 06.03.2009 22:04
тест magistr_bender Оффтопик 44 25.10.2008 19:28
не работают функции при их вызове(не отображаются кнопки) badfilin Общие вопросы Javascript 0 08.04.2008 20:18