В настоящее время я отлаживаю следующий уровень моего веб-сайта в 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);
Итак, мой вопрос: Это нормальное поведение или что-то еще происходит? Я имею в виду, нужно ли это учитывать при кодировании в будущем?