Время жизни параметров - PullRequest
2 голосов
/ 03 июля 2011

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

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

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

1 Ответ

2 голосов
/ 03 июля 2011

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

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

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

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

...