JS,加法的时候数值加数值变成字符串?
错误描述:
两个数字相加输出结果是两个字符串相加;
错误原因
这是由于JS中+、+= 运算符既是算术运算符,也是字符串的连接符
+的运算规则是:如果把数字与字符串相加,结果将成为字符串
解决方法
Number() 函数把对象的值转换为数字。如果对象的值无法转换为数字,那么 Number() 函数返回 NaN
通过Number()函数,可将数值型的字符串转换为数字,然后进行数值加减运算即可
var num1=100;
var num2="10";
console.log(num1+num2); //结果10010
console.log(typeof (num1+num2)) ; //类型string
var num3=true;
var num4="10";
console.log(num3+num4); //结果true10
console.log(typeof (num3+num4)) //类型string
//减号可以正常计算
var num5=100;
var num6="10";
console.log(num5-num6); //结果90
console.log(typeof (num5-num6)) ; //类型number
var num7=100;
var num8="abc";
console.log(num7-num8); //结果nan
console.log(typeof (num7-num8)) ; //类型number