Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Функция-счетчик (https://javascript.ru/forum/misc/69893-funkciya-schetchik.html)

Tanya51 25.07.2017 19:41

Функция-счетчик
 
задача:
Напишите функцию-счетчик, которая имеет методы для увеличения/уменьшения значения счетчика и получения его текущего значения.


var counter = createCounter();
counter.inc();
counter.inc();
counter.inc();
counter.dec();
alert( counter.getValue() ); // 2


мой js:
function createCounter(){
	function inc() {
                  var Count = 1;

                  return function() {
                    return Count++;
                  }
              };
    function dec() {
                  var  Count = 1;

                  return function() {
                    return Count--;
                  }
              };
    return function getValue() {
    	return this.Count;
  };
}

var counter = createCounter();
counter.inc();
counter.inc();
counter.inc();
counter.dec();
alert( counter.getValue() );


Помогите разобраться.
Что я не так делаю? Мне не находит inc()
В консоле пишет "TypeError: Cannot read property 'inc' of undefined"

рони 25.07.2017 19:52

Tanya51,
может так?
function createCounter(){
var Count = 1;
createCounter.prototype.inc = function () {
           Count++;
              };
createCounter.prototype.dec = function () {
           Count--;
              };
createCounter.prototype.getValue = function () {
           return Count
              };

}

var counter = new createCounter();
counter.inc();
counter.inc();
counter.inc();
counter.dec();
alert( counter.getValue() );

Tanya51 25.07.2017 20:29

ОООО!!!
Огромное спасибо)


Часовой пояс GMT +3, время: 02:27.