Следуя моей последней теме ( здесь ), я думаю, что я указал проблему.
Однако у меня болит голова, пытаясь понять, почему это происходит.
Контекст: у меня есть объект с именем «Расписание», внутри которого я создаю 52 «недельных» объекта.Каждая неделя имеет функции для возврата даты начала и окончания в формате MySQL, объекта даты JS и метки.Подробнее в предыдущем посте.
Он отлично работает, кроме случаев, когда я пытаюсь инициировать «EndDate».
/* --- LEAP.Schedule.week Object --- */
LEAP.Schedule.week = function(n_date, n_week){
this.week = n_week;
this.date = n_date;
this.year = this.date.getFullYear();
this.month = this.date.getMonth();
this.month += 1;
this.day = this.date.getDate();
alert("BEFORE " + this.date.getDate());
this.end_date = this.setEndDate(this.date);
alert("AFTER " + this.date.getDate());
};
LEAP.Schedule.week.prototype.setEndDate = function(date) {
var ret_date = date;
ret_date.setDate(ret_date.getDate() + 6);
return(ret_date);
}
Использование предупреждений по обе стороны от «this.setEndDate»будучи запущенным, я вижу, что this.date увеличивается каждый раз, когда запускается setEndDate.
Я не хочу, чтобы это произошло: я хочу, чтобы this.date оставался какдата передается в объект Object недели, и я хочу отдельную переменную с именем this.end_date, которая в основном this.date плюс шесть дней.Я нашел эту статью: http://www.snook.ca/archives/javascript/javascript_pass/ но, по правде говоря, я ее не понимаю ...:)
Может ли кто-нибудь меня просветить?