Нашел действительно странную проблему в 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, о котором я не знаю?
Почему это происходит?
Работает отлично здесь. Просто попробовал с помощью 'console.log' и с' '' '' '' '' '' '' '', никаких проблем. –
Вероятно, '// какой-то код' имеет какое-то отношение к основной проблеме ... Можете ли вы воспроизвести его в plunkr? –
Нет ошибок на консоли? – MinusFour