为什么这个表达式在JavaScript中返回2?

4

我认为你可能会得到0,因为字符串被转换成1,并且-操作符会导致减法运算。

"1" - - "1";

提前感谢您!


但是 1-(-1) 不就等于 1+1 = 2 吗? - Leo Lindhorst
3个回答

11

这就是数学的工作原理。

1 - (-1) = 1 + 1

2

-符号将字符串转换为数字,并且作为减号使用。

1 - (-1) = 1 + 1 = 2


1

1 - (-1) = 2. 我不认为有问题?JavaScript会将它们解析为整数,因为有负号,期望进行数学计算。如果你把一个数字字符串乘以1,也就是“穷人版”的parseInt(),同样会发生这种情况。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接