Показать сообщение отдельно
  #1 (permalink)  
Старый 07.03.2013, 18:52
Аспирант
Отправить личное сообщение для jsjob Посмотреть профиль Найти все сообщения от jsjob
 
Регистрация: 30.01.2009
Сообщений: 42

Разыменование ссылки на функцию возможно?
function createCounter() {
   var numberOfCalls = 0;
   return function() {
      return ++numberOfCalls;
   }
}

function fOnLoad(e)
{ var fn = createCounter();
  var fn2 = fn;
  alert(fn());
  alert(fn());
  alert(fn());
  alert(fn2());
  alert(fn2());
  alert(fn2());
}

onload=fOnLoad;

В десятой строке fn2 получает указатель на функцию создаваемую createCounter-ом, и соотвественно alert-ы считают от 1 до 6.
Возможно ли сделать так, чтоб в fn2 была ссылка на новую копию функции (т.е. fn и fn2 были бы независимыми счётчиками)?
Ответить с цитированием