Задать вопрос

Не работает код в switch case?

При вводе в alert Строчного значения должно выводится (' number is Ba_NaN')
При вводе Числа должно выводится ('OK!')
  • Вопрос задан
  • 198 просмотров
Подписаться 1 Простой 5 комментариев
Решения вопроса 2
otdameskapizm
@otdameskapizm
Помог ответ? Отметь решением...
Prompt всегда возвращает строковый тип данных, даже если вы туда введете число. Поэтому у вас и не проваливается в default
https://developer.mozilla.org/ru/docs/Web/API/Wind...
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
В alert нельзя ввести никакое значение.
У вас, если введён хоть один символ, то всегда выполняется третья ветка, так как numOrStr == numOrStr.
Для понимания можно расписать case как цепочку if/else
if (numOrStr == null) {
  console.log('вы отменили');
} else if (numOrStr == '') {
  console.log('Empty String');
} else if (numOrStr == numOrStr) { // условие всегда истинно
  console.log(' number is Ba_NaN');
} else {
  console.log('OK!'); // недостижимый код
}

Кроме того, prompt всегда возвращает строку, чтобы проверить, что введено число, надо попытаться преобразовать строку и убедиться, что получен не NaN. Сделать это можно через isNaN(Number(numOrStr)).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 16:42
2000 руб./за проект
18 дек. 2024, в 16:33
2000 руб./в час
18 дек. 2024, в 16:06
5000 руб./за проект