JS,加法的时候数值加数值变成字符串?

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


你可能感兴趣的:(javascript)