初学javascript,在进行加法运算的时候,结果却变成了字符串拼接。

var total = "2";
console.log(total+5);//输出25

产生错误的原因是:js中+、+= 运算符既是算术运算符,也是字符串的连接符,其运算规则是:如果是数字与字符串相加,则进行字符串连接,必须都是数字的时候才进行加法运算。

而这里我们获取的 total 虽然是数字,但是却是一个数字字符串。

解决办法是通过 Number 或者 parseInt 把字符串转换为数字即可,也可以在前面加上一个加号,代码如下:

var total = "2";
console.log(Number(total)+5);//输出7
console.log(+total+5);//输出7