var Counter = function(min,sec,interval,elem){
this.elem = elem;
this.countVal = Math.round(min*60) + Math.round(sec);
this.interval = interval;
this.isStarted = false;
this.isPaused = false;
}
Counter.prototype.timer = null;
Counter.prototype.start = function() {
//если таймер не стартовал
if (!this.isStarted){
var that = this;
this.isStarted = true;
this.timer = setTimeout(function() { that.printCounter();},this.interval);
}
else{
return true;
}
}
counter = new Counter(2,5,500,time);
после выхода из конструктора объект имеет следующие свойства и методы
countVal 125
elem div#time.timerStarted
interval 500
isPaused false
isStarted true ??
timer 2 ??
printCounter function()
resume function()
start function()
stop function()
свойства объекта timer не null
isStarted не false
я попробовал убрать из Counter.prototype.start
this.isStarted = true; и тогда свойство isStarted осталось false
вопрос такой. насколько я понял
Свойство prototype
Значением свойства prototype является ссылка на прототип данного объекта. Прототип используется для динамического добавления или удаления свойств и методов класса объектов.
но почему же при конструировании объекта конструктор проходит по веткам методов и устанавливает встретившиеся свойства?
как тогда избежать такой ситуации?
при изучении объектной модели руководствовался
http://karaboz.ru/?p=6
http://www.arininav.ru/js/js07.htm#ref3715