标题说再说:
如果我们这样做:
num = 1 + +"2";
alert(num); // 3
我知道+"2"
加+
会将字符串转换为数字。但是:
num = 1 - -"2";
alert(num); // 3
为什么会这样?我期待-1
例如-"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;