Javascript 将两个数字相加,得到5+;10=510而不是15

Javascript 将两个数字相加,得到5+;10=510而不是15,javascript,web,calculator,Javascript,Web,Calculator,我刚开始学习JavaScript,我正在摆弄一些代码,我似乎找不到一种方法来真正地将两个变量相加并计算它们的总和。我声明了3个变量,其中一个变量是答案,另外两个变量是两个数字。基本上是a,b,c,其中c=(a+b)。但是,每当我尝试运行代码时,结果都会以'ab'而不是'a+b'结束,因此如果a=5和b=10,则会显示'510'而不是'15' 所有其他符号,如“-”、“/”和“*”均按预期工作,唯一不工作的符号是“+” 我想计算机认为我在打印这两个字符串,但我想把它们加起来,就像你在提醒某些事情时

我刚开始学习JavaScript,我正在摆弄一些代码,我似乎找不到一种方法来真正地将两个变量相加并计算它们的总和。我声明了3个变量,其中一个变量是答案,另外两个变量是两个数字。基本上是a,b,c,其中c=(a+b)。但是,每当我尝试运行代码时,结果都会以'ab'而不是'a+b'结束,因此如果a=5和b=10,则会显示'510'而不是'15'

所有其他符号,如“-”、“/”和“*”均按预期工作,唯一不工作的符号是“+”

我想计算机认为我在打印这两个字符串,但我想把它们加起来,就像你在提醒某些事情时所做的那样,例如:
alert(“Hello World”+a)

我的思路是正确的还是问题出在其他方面?以下是源代码:

function addTwoNumbers(firstNumber,secondNumber,numberAdded){
    if(numberAdded == '+'){
        numberAdded = (firstNumber + secondNumber);
        alert("The summ of the two numbers is equal to: " + numberAdded);
    }
    else if(numberAdded == '-'){
        numberAdded = (firstNumber - secondNumber);
        alert("The difference of the two numbers is equal to: " + numberAdded);
    }
    else if(numberAdded == '/')
    {
        numberAdded = (firstNumber / secondNumber);
        alert("The 'kvot' of the two numbers is equal to: " + numberAdded);
    }
    else if(numberAdded == '*'){
        numberAdded = (firstNumber * secondNumber);
        alert("The product of the two numbers is equal to: " + numberAdded);
    }
    else
    {
        alert("I told you to use '+, -, / and *' not anything else!");
    }
}

var checker = true;

while(checker == true){
    alert("You will now be prompted to enter two numbers.");
    var firstNumber = prompt("Please enter the first number.");
    var secondNumber = prompt("Please enter the second number.");
    var numberAdded = prompt("Would you like to use '+, -, /, or * ?'");
    checker = false;

    addTwoNumbers(firstNumber, secondNumber, numberAdded);
    if(numberAdded != '+' && numberAdded != '-' && numberAdded != '/' && numberAdded != '*'){
        checker = true;
    }

    option = 0;

    while(option != 'y' && option != 'n'){
        var option = prompt("Would you like to make a calculation again? (y/n)");
        if(option == 'y'){
            checker = true;
        }
        else if(option == 'n'){
            checker = false;
        }
        else{
            alert("I said (y/n), try again...");
        }

    }
}

提示符
函数返回字符串。因此,当您对两个字符串使用
+
运算符时,您将它们组合在一起。而是将数字字符串解析为一个数字:

var firstNumber = parseInt(prompt("Please enter the first number."), 10);
var secondNumber = parseInt(prompt("Please enter the second number."), 10);

提示符
函数返回字符串。因此,当您对两个字符串使用
+
运算符时,您将它们组合在一起。而是将数字字符串解析为一个数字:

var firstNumber = parseInt(prompt("Please enter the first number."), 10);
var secondNumber = parseInt(prompt("Please enter the second number."), 10);

提示符
函数返回字符串。因此,当您对两个字符串使用
+
运算符时,您将它们组合在一起。而是将数字字符串解析为一个数字:

var firstNumber = parseInt(prompt("Please enter the first number."), 10);
var secondNumber = parseInt(prompt("Please enter the second number."), 10);

提示符
函数返回字符串。因此,当您对两个字符串使用
+
运算符时,您将它们组合在一起。而是将数字字符串解析为一个数字:

var firstNumber = parseInt(prompt("Please enter the first number."), 10);
var secondNumber = parseInt(prompt("Please enter the second number."), 10);

啊,谢谢。这就解决了!不给strings/int/double等赋值感觉很奇怪,但我想我最终会习惯的。我可以问一下这些行中的10在做什么吗?请注意,您也可以对一元
+
运算符使用较短的语法,即
var firstNumber=+prompt(“…”,10)其为基数值(在本例中为十进制)。检查这个链接:啊,我知道了,再一次。非常感谢:)啊,谢谢你。这就解决了!不给strings/int/double等赋值感觉很奇怪,但我想我最终会习惯的。我可以问一下这些行中的10在做什么吗?请注意,您也可以对一元
+
运算符使用较短的语法,即
var firstNumber=+prompt(“…”,10)其为基数值(在本例中为十进制)。检查这个链接:啊,我知道了,再一次。非常感谢:)啊,谢谢你。这就解决了!不给strings/int/double等赋值感觉很奇怪,但我想我最终会习惯的。我可以问一下这些行中的10在做什么吗?请注意,您也可以对一元
+
运算符使用较短的语法,即
var firstNumber=+prompt(“…”,10)其为基数值(在本例中为十进制)。检查这个链接:啊,我知道了,再一次。非常感谢:)啊,谢谢你。这就解决了!不给strings/int/double等赋值感觉很奇怪,但我想我最终会习惯的。我可以问一下这些行中的10在做什么吗?请注意,您也可以对一元
+
运算符使用较短的语法,即
var firstNumber=+prompt(“…”,10)其为基数值(在本例中为十进制)。检查这个链接:啊,我知道了,再一次。非常感谢:)