当用作单目操作符的时候,+操作符不会对Number类型产生影响。但如果应用在字符串类型上,会将其转换为数字:
var a = 25;
a =+ a; //对a值没有影响
console.log(a); //25
var b = "70"; console.log(typeof b); //String b =+ b; //将字符串转换为数字 console.log(b); //70 console.log(typeof b); //number
通常使用+操作符可以快速地将字符串转换为数字。但是如果字符串字面量无法转化为数字的话,结果会出人意料:
var c ="foo"; c =+ c; //将foo转换为数字 console.log(c); //NaN console.log(typeof c); //number var zero = ""; zero =+ zero;; //将空串转换为0 console.log(zero); //0 console.log(typeof zero); //number