Показать сообщение отдельно
  #305 (permalink)  
Старый 05.08.2014, 22:55
Аватар для ixth
Профессор
Отправить личное сообщение для ixth Посмотреть профиль Найти все сообщения от ixth
 
Регистрация: 19.01.2010
Сообщений: 354

Сообщение от kobezzza Посмотреть сообщение
В ES5 FunctionDeclaration обязан быть либо вверху глобали, либо функции, т.е.

function foo() {
    'use strict';
    if (true) {
        function bar() { // Error
        }
    }
}


В ES6 обсуждают концепцию локальных деклараций, а пока юзаю let + FunctionExpression если нужно такое.
Да, но "вверху глобали" !== "выше в коде", так?

Такой пример у меня нормально отрабатывает:
function foo() {
    'use strict';
    var a = 1;

    return a + bar();

    function bar() {
        return 1;
    }
}
Ответить с цитированием