Почему нижняя строчка срабатывает первей?
Может ли быть такое, что в JS нижняя строчка выполнится первей верхней?
|
Да, например, в асинхронном коде
Код:
setTimeout(function(){console.log("first")}) Вот еще пример test() function test(){console.log("foo")} тут ф-ция вызывается до того как она определена. Мож не совсем в кассу, но тоже в этом роде. |
Urukhay, и да, и нет. С одной стороны:
function x() { alert("Эта строчка выше"); } alert("Эта строчка ниже"); x(); С другой стороны, конечно, строки выполняются по порядку. Иначе это был бы просто хаос. Другое дело, что вопрос скорее всего возник из-за асинхронности. Вот код: var x= setTimeout(function () { return "test"; }, 0); alert(x); Многие новички думают, x == "test". А это не так. И чем раньше это станет очевидным, тем лучше. Потому что на этом построен js. |
Sweet,
Что демонстрирует ваш первый пример? Это обычное поведение, нет там ничего особенного. |
Urukhay,
функция анимате -- это несколько перемещений а не одно -- вот в промежуток между этими перемещениями и сработает функция css -- если вам нужно применить css в конце анимации для этого в animate есть параметр callback -- в функцию callback и поставьте ваше css |
рони, телепат?
|
Цитата:
Функции, объявленные как Function Declaration, создаются интерпретатором до выполнения кода. Перед тем, как выполнять первую строку, интерпретатор сканирует код, ищет в нём Function Declaration и обрабатывает их. |
Цитата:
Цитата:
|
BETEPAH,
Не надо умничать. Речь тут идет с точки зрения UI. То что под капотом происходит юзера ниибет, капитан. |
Цитата:
Ясен пень, что на момент вызова она определена, как, мля, иначе может быть. |
Часовой пояс GMT +3, время: 15:04. |