Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基本JavaScript函数返回串联,而不是算术和_Javascript - Fatal编程技术网

基本JavaScript函数返回串联,而不是算术和

基本JavaScript函数返回串联,而不是算术和,javascript,Javascript,我是新来的,所以谢谢你的耐心。 我确实找了很多答案,但没找到,可能是因为答案太明显了 在这种情况下,输入x和y取自,因为当您在+运算符的任一侧放置字符串时,它会执行串联 "3" + "3" // "33" 输入的value属性将始终为您提供一个字符串 如果要将它们添加到一起。因为当您将字符串放在+运算符的任一侧时,它会执行串联 "3" + "3" // "33" 输入的value属性将始终为您提供一个字符串 如果要将它们相加。需要将其转换为数字 function sum(x,y) {

我是新来的,所以谢谢你的耐心。 我确实找了很多答案,但没找到,可能是因为答案太明显了


在这种情况下,输入x和y取自
,因为当您在
+
运算符的任一侧放置字符串时,它会执行串联

"3" + "3" // "33"

输入的value属性将始终为您提供一个字符串


如果要将它们添加到一起。

因为当您将字符串放在
+
运算符的任一侧时,它会执行串联

"3" + "3" // "33"

输入的value属性将始终为您提供一个字符串


如果要将它们相加。

需要将其转换为数字

function sum(x,y) {
   x = document.getElementById("x").value;
   y = document.getElementById("y").value;
   var answer = Number(x)+Number(y);

   document.getElementById("sum").innerHTML = answer;

}

你需要把它转换成数字

function sum(x,y) {
   x = document.getElementById("x").value;
   y = document.getElementById("y").value;
   var answer = Number(x)+Number(y);

   document.getElementById("sum").innerHTML = answer;

}

这是因为
x
y
是字符串,要正确使用它们,请使用
Number(x)+Number(y)
parseFloat(x)+parseFloat(y)
这是因为
x
y
是字符串,要正确使用它们,请使用
Number(x)+Number(y)
parseFloat(x)+parseFloat(y)
您希望使用
parseInt
函数将字符串实际转换为int,然后像这样添加它们

function sum(x,y) {
   x = parseInt(document.getElementById("x").value);
   y = parseInt(document.getElementById("y").value);
   var answer = x+y;

   document.getElementById("sum").innerHTML = answer;

}

您希望使用
parseInt
函数将字符串实际转换为int,然后像这样添加它们

function sum(x,y) {
   x = parseInt(document.getElementById("x").value);
   y = parseInt(document.getElementById("y").value);
   var answer = x+y;

   document.getElementById("sum").innerHTML = answer;

}

因为你得到的值是字符串,你需要把它们转换成数字。光是在这个问题上就有上百万次的重复。现在查找一个…值始终返回字符串。因此,告诉JS将其解释为数字,例如使用…value*1或parseInt,或parseFloat,或…因为您得到的值是字符串,您需要将它们转换为数字。光是在这个问题上就有上百万次的重复。现在查找一个…值始终返回字符串。因此,告诉JS将其解释为数字,例如使用…value*1或parseInt,或parseFloat,或…谢谢,这解决了它!谢谢,这个问题解决了!输入的value属性将始终为您提供一个字符串。-输入类型为“数字”时为奇数,对吗。谢谢,这就解释了这个问题!输入的value属性将始终为您提供一个字符串。-输入类型为“数字”时为奇数,对吗。谢谢,这就解释了这个问题!