为什么num = 1 - - “2”等于3

时间:2012-02-14 19:59:59

标签: javascript

标题说再说:

如果我们这样做:

num = 1 + +"2";
alert(num); // 3

我知道+"2"+会将字符串转换为数字。但是:

num = 1 - -"2";
alert(num); // 3

为什么会这样?我期待-1例如-"2" = -2

2 个答案:

答案 0 :(得分:8)

-"2""2"转换为数字并取消它,给出-2。从1减去-2的结果(即1 - -2)确实是3。

答案 1 :(得分:4)

我猜是因为有两个减号,你减去一个负数,换句话说,增加一个正数

num = 1 - - "2";
num = 1 - (-2);
num = 1 + (-1)*(-2);
num = 1 + 2;