0

问题

今天我遇到了一个奇怪的计算,它是这样的:

"4"- -19

'-' 之间是一个空格并且是必需的

答案是 23——一个数字

这个怎么运作?

某人的建议

我的同事说这等于:

"4"-(0-19)

这真的让我觉得“哦,这就是事实”

但我不知道怎么做?

计算的顺序不是从左到右吗?为什么'- -' 不同,这是什么意思?

4

3 回答 3

0

基础数学真的。

var x = 4 - (-19);//I included the brackets to demonstrate the effect of the space
//x = 23

请注意,它被解释为 -19(负 19)

减去负数与添加该数的正数具有相同的效果。所以它会转化为:4 + 19 = 23

同样重要的是要注意,您的示例仅产生数字结果,因为操作是-,如果使用了加法 ( +),它将改为执行字符串连接。

于 2013-05-17T10:06:58.450 回答
0

第一个减号是减法,第二个减号是负数。

所以 4 减去负 19 等于 23

这是我的猜测;)

于 2013-05-17T10:07:48.367 回答
0

现场演示

这很容易测试。

var x = "4" - -19;

在这种情况下toString(),应用转换/

var y= "2" + 2;
// y would be a string: "22", not 4.

使用-运算符时,默认转换为Number(). "4"变成4,你得到4 - (-19)

4 - (-19) = 4 + 19 = 23;
于 2013-05-17T10:09:00.840 回答