If/else switch case 中的语句

If/else statement within switch case

我是 js/programming 的新手,只是使用提示制作一个简单的计算器。我正在尝试验证输入的是数字而不是字符串。我试过了

var operatorType = prompt("Do you want to add, subtract, multiply or divide?").toLowerCase();

switch (operatorType) {
    case 'add':
        var i = prompt("Enter your first number");
        var j = prompt("Enter your second number");
        if (isNaN(i) === false) && (isNaN(j) === false) {
            document.write(i+" plus "+j+" equals "+(i+j));
        } else {
            document.write("You didn't enter two numbers.");
        }
    break;

以及 if (i != 'string') && (j != 'string'),但我不断得到 "Unexpected token &&"。我查了一下,一个案例中的 if/else 是有效的,所以我不确定我做错了什么。

完整代码,如果有帮助的话

var operatorType = prompt("Do you want to add, subtract, multiply or divide?").toLowerCase();

switch (operatorType) {
    case 'add':
        var i = prompt("Enter your first number");
        var j = prompt("Enter your second number");
        if (isNaN(i) === false) && (isNaN(j) === false) {
            document.write(i+" plus "+j+" equals "+(i+j));
        } else {
            document.write("You didn't enter two numbers.");
        }
    break;

    case 'subtract':
        var i = prompt("Enter your first number");
        var j = prompt("Enter your second number");
        document.write(i+" minus "+j+" equals "+(i-j));
    break;

    case 'multiply':
        var i = prompt("Enter your first number");
        var j = prompt("Enter your second number");
        document.write(i+" multiplied by "+j+" equals "+(i*j));
    break;

    case 'divide':
        var i = prompt("Enter your first number");
        var j = prompt("Enter your second number");
        document.write(i+" divided by "+j+" equals "+(i/j));
    break;

    default:
        document.write("Please enter whether you want to add, subtract, multiply or divide.");
    break;
}

您的括号放在错误的位置导致语法错误。您需要移动此行中的括号以更改:

if (isNaN(i) === false) && (isNaN(j) === false) {

这样就变成了:

if (isNaN(i) === false && (isNaN(j) === false)) {

您还需要将字符串转换为数字,以便您的代码真正 adds/etc 而不是连接文本。