Показать сообщение отдельно
  #2 (permalink)  
Старый 09.09.2015, 15:31
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

ogurchik,
потому что catCounter возвращает функцию, которая генерирует число а не число.

var catCounter = function () {
    var counter = 0;
    return function () {
        return counter++;
    }
};
alert(catCounter()());

В первом варианте вы получили функцию и пытаетесь её показать алертом.
Во втором вы получили функцию, потом у неё получили число, которое показываете алертом.

Последний раз редактировалось tsigel, 10.09.2015 в 18:13.
Ответить с цитированием