Время жизни параметров

Выдержка из раздела 7.1 "JavaScript: Полное руководство, 4-е издание":

Обратите внимание, что эти переменные параметра определяются только во время выполнения функции; они не сохраняются после возврата функции.

Это действительно так? Означает ли это, что мне нужно сохранять некоторые параметры в локальных переменных, если я собираюсь использовать их из вложенных функций?

1 ответ

Решение

Вы можете закрыть параметры так же, как и с любой другой локальной переменной, например:

function test(v1) {
    return function() {
        alert(v1);
    }
}

var f = test("hello");
f();

Это только потому, что возвращаемая функция закрывает переменные в своей лексической области видимости. В обычном случае, да, это правда, что параметры являются локальными для функции и не сохраняются после возврата из функции.

Другие вопросы по тегам