javascript - 是否可以在 JS switch 语句中使用 !(not) ?
问题描述
实际上,我正在使用 JS switch 语句。我在 switch 语句中使用了 (!),但它不起作用。这是我的代码
function showResult(){
let firstNum = document.getElementById("num1").value;
firstNum = Number(firstNum);
let secNum = document.getElementById("num2").value;
secNum = Number(secNum);
let operator = document.getElementById("operator").value;
let getErrorElem = document.getElementById("error");
let getResElem = document.getElementById("res");
let result;
// alert(typeof(operator));
switch(operator){
case null:
case "":
getErrorElem.innerHTML = "Operatot field can't be empty";
break;
}
switch(!(operator)){
case "+":
case "-":
case "/":
case "*":
alert("You can only input (+, -, *, /) these signs in operator field");
break;
}
}
我从用户那里得到了三个值,第一个数字,第二个数字和运算符字段中的运算符我只想要(+、-、*、/)这些值,除了这些值有错误消息。我使用 switch 语句来验证这个字段,但没有工作。如果我使用 (if) 语句,它工作正常。请说明如何使用 switch 语句验证此字段!操作员。
解决方案
看来你需要这样的东西:
function showResult(){
let firstNum = document.getElementById("num1").value;
firstNum = Number(firstNum);
let secNum = document.getElementById("num2").value;
secNum = Number(secNum);
let operator = document.getElementById("operator").value;
let getErrorElem = document.getElementById("error");
let getResElem = document.getElementById("res");
let result;
// alert(typeof(operator));
switch(operator){
case null:
case "":
getErrorElem.innerHTML = "Operatot field can't be empty";
break;
case "+":
case "-":
case "/":
case "*":
// Handle the right input.
break;
default:
alert("You can only input (+, -, *, /) these signs in operator field");
break;
}
}
推荐阅读
- npm - 使 npm 忽略以特定前缀开头的文件夹
- python - python字符串比较的内存限制
- node.js - 如何使用 API.ai 在 Messenger 中创建卡片(对话流)
- python - WIndows 10.module 'keyboard' 没有属性 'add_hotkey'
- objective-c - Apple Photos:在 macOS 上使用 MediaLibrary 观察 MLMediaGroup 的变化
- python - 是否可以使用 Flask 在小 API 中共享全局变量?
- javascript - 无法在聊天应用程序中为管理员和简单用户显示特定图片
- android - 如何在查询中实现字符串数组?
- typescript - 打字稿注入`require(...)`而不是导入文件
- javascript - Code only works when not wrapped in a function