В настоящее время я отлаживаю следующий уровень моего веб-сайта в Firefox и обнаружил действительно странную ошибку в моем JavaScript. Верно ли в Firefox, что функции должны быть определены выше любых строк кода, ссылающихся на эти функции? Мне это кажется странным.
Вот упрощенная версия того, что вызывало ошибки:
var myClass = new MyClass(myCallback);
function myCallback() {
// code
}
Он бросил следующую ошибку: Error: myCallback is not defined
И вот что мне нужно сделать для работы в Firefox:
var myCallback = function() {
// code
}
var myClass = new MyClass(myCallback);
Итак, мой вопрос: Это нормальное поведение или что-то еще происходит? Я имею в виду, нужно ли это учитывать при кодировании в будущем?