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

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

Есть код

settimeout( get_photo, 2000 );

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы