在js里,'-'操作只能数值进行,如果出现字符串就会将字符串转变为数值。


'hehe'这个字符串是不可以转为数值的所以结果是NaN(非数值型),'100'-10即使将'100'字符串转为100数值来运算,结果为90。
'+'法运算,则是字符串,数值都可以进行操作
因此,'hehe'+10结果为'hehe10'。
但是有一个问题
这个运算初学者通常会这样想,第一个数值在前所以结果为数值100+将字符串'100'转换成的数值结果为数值型200;第二个字符串在前,结果为字符串'100'+数值100转换成的字符串100,结果是字符串'100100'。
其实这样想很正常,但是不对的。js代码会在这里做一个隐式的转换凡是'+'号左右有一个字符串,最终结果都按字符串来处理。
本文详细介绍了JavaScript中'+'和'-'操作符在处理字符串和数值时的类型转换规则。对于'-',如果涉及字符串,会尝试转换为数值,如'100'-10得到90,而'hehe'无法转换为数值,结果为NaN。而对于'+',无论哪个操作数是字符串,结果都将按字符串处理,如'hehe'+10得到'hehe10'。理解这些隐式转换对于编写JavaScript代码至关重要。
5万+

被折叠的 条评论
为什么被折叠?



