Показать сообщение отдельно
  #11 (permalink)  
Старый 08.03.2011, 02:33
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от Kolyaj
При вызове функции createCounter обнуляется.
Ничего не обнуляется:
function createCounter(){
  var numberOfCalls = 0;
  return function(){
    return ++numberOfCalls;
  };
};
var fn1 = createCounter();
fn1(), fn1();
var fn2 = createCounter();
fn2();
alert( fn1() ); // Ведь 3, а не 2
Aetae, как-то жестоко. Так по-приличнее, по-моему:
function џ(){
  var count = 1;
  return function(){
    if(++count === 7) return 'lol';
    return arguments.callee;
  };
};

alert( џ()()()()()()() );
Ответить с цитированием