Как работает знак равенства???
Добавлено: 06 янв 2007, 17:54
Выкладываю только часть функции, т.к. в этой части непонятки. Объясните мне почему меняется значение dat так же как и dat1? (звёздочки, которые находятся в коде я поставил, чтобы обозначить сноски, в реальном коде их нет)
Строку (*2) я добаил, чтобы посмотреть почему у меня не так работает оператор if (*3) и был неприятно удивлён. Оказывается dat1 и dat имеют одинаковые значения, а я ведь меняю только значение dat1. То что он правильно или неправильно сравнивает даты это другой вопрос, который я задал в предыдущем топике, но неужели равенство (*1) начисто уравнивает переменные?
dat = new Date();
day = dat.getDay();
if (day == 0)
day = 7;
day = day - 1;
dat1 = dat; ***************************(1)
dat1.setDate(dat1.getDate() - day);
tab_1 = new Array();
tab_2 = new Array();
for (var indR=0; indR<30; indR++){
tab_1[indR] = new Array();
tab_2[indR] = new Array();
for (var indC=0; indC<7; indC++){
tab_1[indR][indC] = dat1.getDate();
document.write(dat1 +"
"+ dat+"
"); *******(2)
if (dat1 < dat){ ******************************(3)
tab_2[indR][indC] = 1;}
else {
if (dat1.getDay()==0 || dat1.getDay()==6){
tab_2[indR][indC] = 2;}
}
dat1.setDate(dat1.getDate()+1);
}
}
Строку (*2) я добаил, чтобы посмотреть почему у меня не так работает оператор if (*3) и был неприятно удивлён. Оказывается dat1 и dat имеют одинаковые значения, а я ведь меняю только значение dat1. То что он правильно или неправильно сравнивает даты это другой вопрос, который я задал в предыдущем топике, но неужели равенство (*1) начисто уравнивает переменные?
dat = new Date();
day = dat.getDay();
if (day == 0)
day = 7;
day = day - 1;
dat1 = dat; ***************************(1)
dat1.setDate(dat1.getDate() - day);
tab_1 = new Array();
tab_2 = new Array();
for (var indR=0; indR<30; indR++){
tab_1[indR] = new Array();
tab_2[indR] = new Array();
for (var indC=0; indC<7; indC++){
tab_1[indR][indC] = dat1.getDate();
document.write(dat1 +"
"+ dat+"
"); *******(2)
if (dat1 < dat){ ******************************(3)
tab_2[indR][indC] = 1;}
else {
if (dat1.getDay()==0 || dat1.getDay()==6){
tab_2[indR][indC] = 2;}
}
dat1.setDate(dat1.getDate()+1);
}
}