Подтвердить что ты не робот

Функция JavaScript не определена в Firefox?

В настоящее время я отлаживаю следующий уровень моего веб-сайта в 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);

Итак, мой вопрос: Это нормальное поведение или что-то еще происходит? Я имею в виду, нужно ли это учитывать при кодировании в будущем?

4b9b3361

Ответ 1

Вы должны определить функцию перед ее вызовом, когда вы начинаете с формата:

myCallback = function() {
    // code
}

Но это должно быть нормально определить где угодно, когда вы начинаете с формата:

function myCallback() {
    // code
}