Javascript 功能添加(num1,num2)不工作?
我有一个简单的加法计算器Javascript代码。它工作得很好,但是当我尝试在两个变量上使用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
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)
或使用一元+
如+第一++第二
。或使用一元+
如+第一++第二
。