在js里,'-'操作只能数值进行,如果出现字符串就会将字符串转变为数值。
'hehe'这个字符串是不可以转为数值的所以结果是NaN(非数值型),'100'-10即使将'100'字符串转为100数值来运算,结果为90。
'+'法运算,则是字符串,数值都可以进行操作
因此,'hehe'+10结果为'hehe10'。
但是有一个问题
这个运算初学者通常会这样想,第一个数值在前所以结果为数值100+将字符串'100'转换成的数值结果为数值型200;第二个字符串在前,结果为字符串'100'+数值100转换成的字符串100,结果是字符串'100100'。
其实这样想很正常,但是不对的。js代码会在这里做一个隐式的转换凡是'+'号左右有一个字符串,最终结果都按字符串来处理。