在交换机javascript中没有使用字符串大小写

时间:2018-02-11 05:11:41

标签: javascript

我想使用开关来处理条件问题。 条件:

如果没有值,则显示消息1,

如果不是数字,则显示消息2.

var c = document.getElementById("input3").value;
var message1 = "You have not input any data";
var message2 = "Please input only number";

switch (c) {
    case "":
        window.alert(message1);
        break;
    case (isNaN(c)):
        window.alert(message2);
        break;
    default:
        document.getElementById("p2").innerHTML = c;
}

它不适用于非数字条件。任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

你应该使用" if else"

if(c == ""){
   window.alert(message1);
}else if(isNaN(c)){
   window.alert(message2);
}else{
   document.getElementById("p2").innerHTML=c;
}

答案 1 :(得分:0)

您可以使用true切换,然后可以为每个案例编写表达式。

如果表达式的计算结果为true,则将使用该案例。

switch (true) {
  case c === "":
    window.alert(message1);
    break;
  case isNaN(c):
    window.alert(message2);
    break;
  default:
    document.getElementById("p2").innerHTML = c;
}

var c = document.getElementById("input3");
var button = document.getElementById("button");
var message1 = "You have not input any data";
var message2 = "Please input only number";

button.addEventListener('click', e => {
  const value = c.value
  switch (true) {
    case value === "":
      window.alert(message1);
      break;
    case isNaN(value):
      window.alert(message2);
      break;
    default:
      document.getElementById("p2").innerHTML = value;
      c.value = ''
  }
}, false)
<input id="input3" />
<button id="button">click me</button>
<p id="p2"></p>