Javascript 功能添加(num1,num2)不工作?

Javascript 功能添加(num1,num2)不工作?,javascript,Javascript,我有一个简单的加法计算器Javascript代码。它工作得很好,但是当我尝试在两个变量上使用add(num1,num2)函数时,而不是将这两个变量相加,它只是将它们相邻地打印出来 例如,我输入5和4 它将在“应答”中打印54 如果我删除从输入中获取值的部分并用数字替换它们,我可以调用add(num1,num2),它工作正常。例如,我可以说add(5,3),返回值是8,只是不处理变量 这是密码 var back = 0; function add(num1, num2) { return

我有一个简单的加法计算器Javascript代码。它工作得很好,但是当我尝试在两个变量上使用
add(num1,num2)
函数时,而不是将这两个变量相加,它只是将它们相邻地打印出来

例如,我输入5和4 它将在“应答”中打印
54

如果我删除从输入中获取值的部分并用数字替换它们,我可以调用
add(num1,num2)
,它工作正常。例如,我可以说
add(5,3)
,返回值是
8
,只是不处理变量

这是密码

var back = 0;

function add(num1, num2) {
    return num1 + num2;
} 

function functions() {
    if (back==0) 
    {
        var first = document.getElementById("number1").value;
        var second = document.getElementById("number2").value;
        var Addition = add(first, second);
        document.getElementById("number1").style.display = 'none';
        document.getElementById("number2").style.display = 'none';
        document.getElementById("Answer").style.display = 'block';
        document.getElementById("Answer").value = "Answer: " + Addition;
        document.getElementById("write").value = "Go Back";
        back = back+1;
    }
    else
    {
        document.getElementById("Answer").style.display = 'none';
        document.getElementById("number1").style.display = 'inline';
        document.getElementById("number2").style.display = 'inline';
        document.getElementById("write").value = "Add";
        back = 0;
    }
}

当您获得用户输入的值时,它将作为字符串返回。因此,当您键入5和4时,它返回为“5”和“4”。因此,您可以使用parseInt将其更改为一个数字

var first = document.getElementById("number1").value;
var second = document.getElementById("number2").value;

first = parseInt(first, 10);
second = parseInt(second, 10);

,10
只是让计算机知道您使用的是以10为基数的值(0,1,2,3,4,5,6,7,8,9),而不是以2为基数的值(0,1,1,1,1,0,0)或其他形式。

当您获得用户输入的值时,它将作为字符串返回。因此,当您键入5和4时,它返回为“5”和“4”。因此,您可以使用parseInt将其更改为一个数字

var first = document.getElementById("number1").value;
var second = document.getElementById("number2").value;

first = parseInt(first, 10);
second = parseInt(second, 10);
return parseInt(num1) + parseInt(num2);

,10
只是让计算机知道您使用的是以10为基数的值(0,1,2,3,4,5,6,7,8,9),而不是以2为基数的值(0,1,1,1,1,0,0)或其他值。

您需要将值转换为数字,您可以使用函数进行转换

return parseInt(num1) + parseInt(num2);
function add(num1, num2) {
    return Number(num1) + Number(num2);
} 

您需要将值转换为数字,您可以使用函数来执行此操作

function add(num1, num2) {
    return Number(num1) + Number(num2);
} 

解决此问题有两种选择:

1-使用Typescript,然后将其编译为Javascript

2-使用Javascript并定义输入类型:

var button = document.querySelector("button");
var input1 = document.getElementById("num1");
var input2 = document.getElementById("num2");
function add(num1, num2) {
    if (typeof num1 === 'number' && typeof num2 === 'number') {
        return num1 + num2;
    }
    else {
        return +num1 + +num2;
    }
}

button.addEventListener("click", function () {
    console.log(add(+input1.value, +input2.value));
});

解决此问题有两种选择:

1-使用Typescript,然后将其编译为Javascript

2-使用Javascript并定义输入类型:

var button = document.querySelector("button");
var input1 = document.getElementById("num1");
var input2 = document.getElementById("num2");
function add(num1, num2) {
    if (typeof num1 === 'number' && typeof num2 === 'number') {
        return num1 + num2;
    }
    else {
        return +num1 + +num2;
    }
}

button.addEventListener("click", function () {
    console.log(add(+input1.value, +input2.value));
});

您正在连接字符串。首先从字符串中提取数字。要将类型
字符串
转换为
数字
(基数10),只需在字符串变量前添加加号即可。示例:
var n=“10”;添加(+n,+n)
您正在连接字符串。首先从字符串中提取数字。要将类型
字符串
转换为
数字
(基数10),只需在字符串变量前添加加号即可。示例:
var n=“10”;添加(+n,+n)
或使用一元
+
+第一++第二
。或使用一元
+
+第一++第二