|
Подскажите по JavaScript: switch case
| ☑ |
0
Брудвар
25.09.17
✎
19:00
|
Решил начать изучать жавускрипт. Сейчас учу switch. Не могу понять логику этого глупого языка программирования. Вот вроде правильно написал, но не работает. Два раза проверял в отладчике, в переменной "а" действительно 20.
a = 20
switch (true) {
case (a >= 10):
alert (1)
case (a >= 20):
alert (1)
case (a >= 30):
alert (1)
case (a >= 40):
alert (1)
case (a >= 50):
alert (1)
}
Я думал что должны выполниться только первые два алерта. А выполняются вообще все.
В чем ошибка?
|
|
1
Fragster
гуру
25.09.17
✎
19:01
|
break забыл. ну и в данном случае несколько if будет вернее.
|
|
2
Брудвар
25.09.17
✎
19:04
|
(1) Зачем break?
|
|
3
Брудвар
25.09.17
✎
19:14
|
Вот я тупой, проглядел ошибку! Но сам разобрался уже. Всем спаасибо. Можно закрывать тему.
|
|
4
Лефмихалыч
25.09.17
✎
19:21
|
(0) это не язык глупый.
Свитч намеренно так устроен. Точнее, это поведение смизжено из С++
|
|
5
Лефмихалыч
25.09.17
✎
19:31
|
+(4) это поведение позволяет сократить код, при этом, не потеряв понятность, когда надо сделать одно и то же для разных условий:
a = 20
switch (true) {
case (a >= 10):
case (a >= 20):
case (a >= 30):
case (a >= 40):
case (a >= 50):
alert (1);
break;
case (a < 7):
alert (666);
}
|
|
6
Брудвар
25.09.17
✎
19:34
|
(5) Точно
|
|
8
Брудвар
25.09.17
✎
19:43
|
Что-то не вижу сообщения (7). Куда оно подевалось?
|
|