Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Замыкания... почему alert "глючит" ? (https://javascript.ru/forum/misc/60475-zamykaniya-pochemu-alert-glyuchit.html)

callbackhell 02.01.2016 21:17

Цитата:

Сообщение от Keramet
что такое функция обратного вызова - это функция, которой передаётся управление только после того, как полностью закончит свою работу вызвавшая её функция. правильно?

Это только в синхронном варианте. В данном случае, вы делегируете вызов этих функций движку. Все что делает ф-ция setTimeout -- бросает коллбек в некий массив, из которого он позже будет вызван. Термин не слишком удачен, да.

рони 02.01.2016 21:18

Keramet,
для хрома приоритет время -- время таймера подошло он пытается его сначала выполнить, затем смотрит очередь , если нельзя выполнить ставит в очередь, в других браузерах сразу кидают в очередь, потом пытаются выполнить.

Keramet 02.01.2016 21:27

Цитата:

Сообщение от callbackhell (Сообщение 402289)
Это только в синхронном варианте. В данном случае, вы делегируете вызов этих функций движку. Все что делает ф-ция setTimeout -- бросает коллбек в некий массив, из которого он позже будет вызван. Термин не слишком удачен, да.

т.е. наш вывод чисел от 1 до 10 набросал команд в этот некий массив, так? и вывод на экран почему-то происходит не в том порядке, в котором они туда попали. в этом и проблема. правильно я понял?

callbackhell 02.01.2016 21:29

Цитата:

Сообщение от Keramet
вывод на экран почему-то происходит не в том порядке, в котором они туда попали. в этом и проблема. правильно я понял?

Скорей всего они туда попадают не в том порядке, в котором кидаются.

Keramet 02.01.2016 21:33

Цитата:

Сообщение от callbackhell (Сообщение 402294)
Скорей всего они туда попадают не в том порядке, в котором кидаются.

О, это уже интереснее: они туда попадают не в том порядке, или они оттуда извлекаюстя не в том порядке? или и то, и то :)

П.С. мне нравится ваше Скорее всего ;)

callbackhell 02.01.2016 21:39

Keramet,
Я не писал реализацию V8, извините. Но Вам это и не нужно знать. Просто имейте в виду, что порядок не гарантируется, этого достаточно.

Keramet 02.01.2016 21:57

callbackhell,
Это я уже понял, что порядок не гарантируется :) в этом то и состоял вопрос - почему!! или я что-то накодил..., или глюк какой-то. Вариант Рони работает, но он мне как-то эстетически не нравиться - это моё субъективное мнение ;)

рони 02.01.2016 22:06

Keramet,
так не используйте алерт и ваш вариант тоже сработает как надо если уложатся в 3 секунды все заботы браузера.

callbackhell 02.01.2016 22:08

Цитата:

Сообщение от рони
как надо

Что значит "как надо"? В стандарте есть это? Или Вы имеете в виду, как ожидал ТС?

рони 02.01.2016 22:15

Цитата:

Сообщение от callbackhell
как ожидал ТС

да


Часовой пояс GMT +3, время: 11:06.