Показать сообщение отдельно
  #1 (permalink)  
Старый 27.03.2015, 00:01
Новичок на форуме
Отправить личное сообщение для tur10 Посмотреть профиль Найти все сообщения от tur10
 
Регистрация: 26.03.2015
Сообщений: 1

Помогите разобраться с объектом Date()
Есть очень простая учебная задача, вывести все пятницы до конца текущего года. Казалось бы, что может быть проще?

var curDate = new Date ();
var varDate = new Date ();
var iday = 0;

while (varDate.getFullYear() < 2016) {						// цикл выполняется пока дата не превышает 2015 года
	if (varDate.getDay() == 5) {console.log("Дата: " + varDate)}		// если день неделя - пятница, то печатаем дату
	var varDate = new Date ();						// без этой строчки код работает неверно... почему???
	varDate.setDate(curDate.getDate()+iday);				// доходит до конца года перебирая день за днем
	iday++;
}


Этот код отрабатывает как надо. Но если закоментировать строку 7, то код перестает работать как надо. Не понимаю, зачем на каждой итерации нужно создавать новый экземпляр этого объекта?
Ответить с цитированием