2015-09-08 3 views
0

Нашел действительно странную проблему в Firefox. У меня есть некоторый код, написанный в следующем форматеПочему эти вложенные функции не выполняются в Firefox?

function wrappingFunction() { 
    function a() { 
    //some code 
    } 
    function b() { 
    //some code 
    } 
    function c() { 
    //some code 
    } 

    var foo = a(); 
    var bar = b(foo); 
    c(); 
} 

wrappingFunction(); 

Эта структура отлично в IE и Chrome работает, однако, не будет выполняться в Firefox. В качестве начала дегазации я разместил вызов console.log в верхней части функции обертки только для того, чтобы убедиться, что это выполняется. После этого код внезапно начинает работать.

function wrappingFunction() { 
    console.log("yes i work"); 

    function a() { 
    //some code 
    } 
    function b() { 
    //some code 
    } 
    function c() { 
    //some code 
    } 

    var foo = a(); 
    var bar = b(foo); 
    c(); 
} 

wrappingFunction(); 

Пробовал это на других машинах, просто чтобы проверить это не было что-то не так с моим FF установить, но такое же поведение на всех. Моя версия Firefox также обновлена.

Я как бы почесываю голову, потому что не могу понять, что происходит. Является ли способ структурирования этой программы по своей сути недействительным? Или это какое-то поведение Firefox, о котором я не знаю?

Почему это происходит?

+1

Работает отлично здесь. Просто попробовал с помощью 'console.log' и с' '' '' '' '' '' '' '', никаких проблем. –

+1

Вероятно, '// какой-то код' имеет какое-то отношение к основной проблеме ... Можете ли вы воспроизвести его в plunkr? –

+0

Нет ошибок на консоли? – MinusFour

ответ

0

я могу думать только о контрольном списке:

  • Вы уверены, что код выполняется после того, как страницы закончена загрузка? Что происходит в FF, если вы помещаете код внутри события onload?
  • Относится ли какая-либо из этих функций к элементу DOM?
  • Вы пробовали выполнять изолированные функции (вызов только функции a, только функция b ...)?
  • Какая ошибка появляется n console?
Смежные вопросы