Вход

Просмотр полной версии : Функция-счетчик


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
ОООО!!!
Огромное спасибо)