为什么最后的x+y是字符串,而不是数字相加的结果呢?
比如x=12,y=23,最后得出1223,而不是35?
function myFunction() {
var x = document.getElementById("myInput").value;
var y = document.getElementById("myInput2").value;
document.getElementById("total").value = x+y;
}
跟你的x,y类型有关,可以使用typeof查看一下。
数值型的会相加,字符串类型的会拼接。
算数运算符中除了+,其他都会:当对非Number类型的值进行运算时,会将这些值先转换为Number,然后再运算
因为默认是字符类型,你可以输出看一下类型,要相加得转化成int再相加
var x = document.getElementById("myInput").value;
var y = document.getElementById("myInput2").value;
console.log(typeof x);
console.log(typeof y);
document.getElementById("total").value = x+y;
document.getelementbyid().value 拿到的是字符串,给你举个例子 如果都是number类型才会得出35
如果对你有帮助,请采纳,谢谢。
谢谢大家,最后用下面代码解决了:
document.getElementById("total").value = Number(x)+Number(y);