Показать сообщение отдельно
  #6 (permalink)  
Старый 02.12.2009, 04:03
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Да нет там никакой опечатки. После выполнения блока из #1 у нас uniqueID содержит ссылку на функцию
function(){
    return id++;
}

При этом scope первой функции живет благодаря замыканию, и в результате последовательные вызовы
uniqueID()
uniqueID()
...
uniqueID()

Дайт последовательное увеличение каунтера.
Почитайте http://javascript.ru/basic/closure, там все хорошо описано.
Ответить с цитированием