n=new Array("понедельник","вторник","среда","четверг","пятница","суббота","воскресенье")
document.write(n[q])
Жестокий глюк или ошибка в условии?..
<SCRIPT LANGUAGE="JavaScript">
day_of_week=new Date();
var q=day_of_week.getDay();
if (q=0)
q="воскресенье";
if (q=6)
q="cуббота";
if (q=5)
q="пятница";
if (q=4)
q="четверг";
if (q=3)
q="среда";
if (q = 2)
q="вторник";
if (q = 1)
q="понедельник";
document.write(q);
</SCRIPT>
По идее эта последовательность должна давать имя дня недели, но у меня браузер выполняет все условия if, как условия поочерёдного применения и выводит на экран последнее значение(в данном случае - понедельник). Может я чего-то напутал?:confused: [FONT="Comic Sans MS"]:confused: [/FONT]
WeekDays = Array("опнедельник", "вторник", "среда" ... etc);
а потом просто взять нужное значение:
day_of_week=new Date();
var q=day_of_week.getDay();
document.write(WeekDays[q]);
Сдаётся мне, что так проще...
Ошибка тут в том, что в JavaScript оператор "=" - совсем не то, что "=" скажем в Delphi. Для данного случая наиболее подходит "=="
Код:
WeekDays = Array("опнедельник", "вторник", "среда" ... etc);
а потом просто взять нужное значение:
day_of_week=new Date();
var q=day_of_week.getDay();
document.write(WeekDays[q]);
Сдаётся мне, что так проще...
Ошибка тут в том, что в JavaScript оператор "=" - совсем не то, что "=" скажем в Delphi. Для данного случая наиболее подходит "=="[/QUOTE]
=================================
Спасибо за вариант, но всё равно не совсем то, что хотелось бы. Значение "ошибается" на один день. Вот только что подставил,
WeekDays = Array("понедельник", "вторник", "среда", "четверг", "пятница", "суббота", "воскресенье");
day_of_week=new Date();
var q=day_of_week.getDay();
document.write(WeekDays[q]);
мне высветился вторник. А сегодня(насколько я помню:) ) - понедельник. Но всё равно, спасибо.;)
В массиве поставь воскресенье на первое место...
Я пробовал эту идею, при первом редактировании проги. Перебирал все варианты - эфффект один: выдаёт последнее:(
Блин, человек, говорят тебе: поставь воскресенье в массиве элементом с индексом 0. В JavaScript именно так и считается: воскресенье = 0, суббота = 6.
Да поставь вместо равно(= оно считается как присвоение, а не сравнение) двойное равно (==)
Код:
if( a < b) {
... a действительно меньше b
}
if (a == b) {
.. a равно б
}
if (a > b) {
....
}
... a действительно меньше b
}
if (a == b) {
.. a равно б
}
if (a > b) {
....
}
если ты в пишешь именно таким образом то проверяются все 3 условия
Код:
if( a < b) {
... a действительно меньше b
} else if (a == b) {
.. a равно б
} else if (a > b) {
....
} else {
.. если окажесмся здесь, то устои будут потрясены
}
... a действительно меньше b
} else if (a == b) {
.. a равно б
} else if (a > b) {
....
} else {
.. если окажесмся здесь, то устои будут потрясены
}
если ты формулируешь условие таким образом, то выполняется только одно из условий.
смотри в доке ключевые слова условный переход
Вся проблема в использовании присваивания (=) вместо сравнения (==)
:D ну это не только в JavaScript считается так. А еще и в PHP и в C# и т.д. :D
Краткий и точный ответ
Всем спасибо! Прога пашет!!!!!!!! :) :) :) ;)