![]() |
|
||||||||||
|
|||||
|
Как всё-таки происходит нестрогое сравнение?
с помощью valueOf или toString? если что-то из вышеперечисленного, то как объяснить вот это? trace(this.start_date); trace(this.end_date); trace(this.start_date.valueOf()==this.end_date.valueOf()); trace(this.start_date.toString()==this.end_date.toString()); trace(this.start_date==this.end_date); this.start_date - Date this.end_date - Date т.е. и при valueOf, и при toString значения одинаковые, однако когда произвожу сравнение start_date и end_date напрямую, выводится false. Причем методы valueOf и toString у класса Date есть.
__________________
Infernal error: чёрт сломал ногу, пытаясь разобраться в вашем коде --- my blog: http://batsuev.com/wp/ |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Вот почитай об сравнении
PS. Взял твой пример и в последнем случаи у меня было true. И в mx и mx 20004 Последний раз редактировалось iNils; 20.07.2005 в 11:47. |
|
|||||
|
я в FAME сижу...
var start_dat:Date = new Date(2005,1,1,0,0); var end_dat:Date = new Date(2005,1,1,0,0); trace(start_dat==end_dat); собственно valueOf у start_dat и end_dat одинаковы... UTC у этих дат одинаковы. Как они вообще сравниваются?? и почему собственно false выдаётся?
__________________
Infernal error: чёрт сломал ногу, пытаясь разобраться в вашем коде --- my blog: http://batsuev.com/wp/ Последний раз редактировалось AlDev; 20.07.2005 в 12:21. |
|
|||||
|
эт что получается, они ни больше, ни меньше, ни равны??
эт вообще как?
__________________
Infernal error: чёрт сломал ногу, пытаясь разобраться в вашем коде --- my blog: http://batsuev.com/wp/ |
|
|||||
|
__________________
Infernal error: чёрт сломал ногу, пытаясь разобраться в вашем коде --- my blog: http://batsuev.com/wp/ |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Date.prototype.valueOf = function () {
trace ("---");
};
this.end_date = new Date ();
this.start_date = new Date ();
trace (this.start_date == this.end_date);
if (this.start_date > this.end_date) {
trace (1);
} else if (this.start_date < this.end_date) {
trace (2);
} else if (this.start_date == this.end_date) {
trace (0);
} else {
trace ("???");
}
|
|
|||||
|
при >= и <= тож вызывается valueOf.
тогда собственно говоря, возвращаемся к вопросу, как сравниваются даты.
__________________
Infernal error: чёрт сломал ногу, пытаясь разобраться в вашем коде --- my blog: http://batsuev.com/wp/ |
|
|||||
|
да, но сравнение объектов нестрогое разве не через valueOf идёт?
__________________
Infernal error: чёрт сломал ногу, пытаясь разобраться в вашем коде --- my blog: http://batsuev.com/wp/ |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:46. |
|
|
« Предыдущая тема | Следующая тема » |
|
|