Помогите со Switch-Case. Почему этот код не работает правильно?

288
27 апреля 2017, 15:55
<html>
<head>
</head>
<body>
  <script language="javascript">
var x = prompt("Enter a number: ");
b = x % 5;
switch(b) {
  case "1": {
    document.write("One!");
    break;
  }
  case "2": {
    document.write("Two!");
    break;
  }
  case "3": {
    document.write("Three!");
    break;
  }
  case "4": {
    document.write("Four!");
    break;
  }
  case "5": {
    document.write("Five!");
    break;
  }
  default: document.write("what??");
}
  </script>
</body>
</html>
Answer 1

Предложение switch выполняет строгое сравнение на равенство (Strict Equality Comparison), то есть применяет оператор === при котором типы операндов должны совпадать.

А потому замените все строковые литералы в case на целочисленные значения.

К тому же допустимые значения для остатка при делении на 5, если введенное число является целым, будут [0, 4].

READ ALSO
Как удалить элемент созданный append?

Как удалить элемент созданный append?

Здравствуйте! У меня есть такая табличкаНажав кнопку добавить регион, у меня добавляется регион в бд и с помощью append я добавляю в табл новую...

304
Как сделать кросдоменный запрос с Authorization?

Как сделать кросдоменный запрос с Authorization?

запущенны 2 nodeJS сервера, с одного делаю ajax-запрос ко второму:

426
map и undefined

map и undefined

Такой код

357