Задать вопрос
Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.

Settimeout — разное положение в коде разная работа в FF и Хроме, почему?

Есть код

settimeout( get_photo, 2000 );

function get_photo(){
// ляляля
}

Он работает в хроме. А в FF работает только если перенести функцию get_photo() выше settimeout(), иначе "ReferenceError: get_photo is not defined"
В чем особенность данной ситуации в лисе?
  • Вопрос задан
  • 131 просмотр
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Во-первых, опечатка, не settimeout а setTimeout

Во-вторых, код в глобальной области видимости? Если да то для SpiderMonkey (движок js в FireFox) это равносильно
setTimeout( get_photo, 2000 );

window.get_photo = function get_photo(){
// ляляля
}
и всплытия функции согласно правилам js не происходит, поэтому оборачивайте код в замыкание абсолютно всегда, а еще лучше используйте модули
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы