Всем привет
Разместил простой пример тут
https://jsfiddle[dot]net/vipTelnet/2hjqkf9t/1/
Не могу понять почему сумма не считается.
1. Telnet - 21 Декабря, 2016 - 18:16:51 - перейти к сообщению
2. Ch_chov - 21 Декабря, 2016 - 19:30:04 - перейти к сообщению
В case нельзя записывать выражения. Используйте if / else или тернарный оператор.
3. Telnet - 21 Декабря, 2016 - 19:32:39 - перейти к сообщению
О тут [url]https://learn[dot]javascript[dot]ru/switch [/url]
написано что
В case могут быть любые выражения, в том числе включающие в себя переменные и функции.
я этот пример переделывал с php там все именно так и работает.
На if то я переделал и заработало но почему тут в яваскрипте не работало через switch я так и не понял.
написано что
В case могут быть любые выражения, в том числе включающие в себя переменные и функции.
я этот пример переделывал с php там все именно так и работает.
На if то я переделал и заработало но почему тут в яваскрипте не работало через switch я так и не понял.
4. Ch_chov - 22 Декабря, 2016 - 08:08:59 - перейти к сообщению
Да точно выражение может быть в case, но его результат все равно будет сравниваться с "основой".
CODE (javascript):
скопировать код в буфер обмена
скопировать код в буфер обмена
- switch (true) {
- case quantity < 5:
- summa = quantity * 10;
- break;
- case quantity > 5:
- summa = quantity * 2;
- break;
- }
Или так
CODE (javascript):
скопировать код в буфер обмена
скопировать код в буфер обмена
- switch (quantity < 5) {
- case true:
- summa = quantity * 10;
- break;
- case false:
- summa = quantity * 2;
- break;
- }
Лучше конечно так: