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

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

Есть код

settimeout( get_photo, 2000 );

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

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

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

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

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

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