Сообщение от Kolyaj
|
Второе.
|
Просто вот почему спрашиваю, взгляните на код:
function createCounter() {
var numberOfCalls = 0;
alert(numberOfCalls);
return function() {
alert(numberOfCalls);
return ++numberOfCalls;
}
}
var fn = createCounter();
fn(); //Выводит сообщение "0", "0", все ясно, первый вызов.
fn(); //Вызывается только вложенная функция, alert выводит "1", опять же окей.
createCounter(); //Вызывается вся функция, переменная "numberOfCalls" обнулена, alert объемлющей функции выводит "0", годиться.
fn(); //Вызывается опять только вложенная, хотя, по идее "numberOfCalls" был обнулен, alert вывел "2", вот это - не понятно.