我对此感到困惑snippet :
var n1 = 5-"4";
var n2 = 5+"4";
alert(n1);
alert(n2);
我知道 n1 是 1。那是因为减号运算符会将字符串“4”转换为数字并从 5 中减去它。 但为什么我们在 + 运算符的情况下得到 54?
有人可以向我解释 + 和 = 运算符之间的区别吗?
最佳答案
通过类型转换,任何包含字符串的 +
表达式都将生成一个字符串。因此,在执行连接之前,所有操作数(在您的情况下为 5
)都将转换为字符串。
-
只是一个算术操作数,因此 "4"
被转换为一个整数,并按您预期的方式执行计算。
关于Javascript + 运算符 vs - 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12650700/