今天我遇到了一个奇怪的计算,就像这样:
"4"- -19
' - '之间的是一个空格,需要
答案是23 ---一个数字
它是如何工作的?
我的同事说这等于:
"4"-(0-19)
这真的让我觉得“哦,这是真理”
但我不知道怎么办?
是不是从左到右计算的顺序? 为什么' - ''不同 这是什么意思?
答案 0 :(得分:0)
基本数学真的。
var x = 4 - (-19);//I included the brackets to demonstrate the effect of the space
//x = 23
请注意,它被解释为-19(负19)
减去负数与添加该数字的正数相同具有相同的效果。所以它会转换为:4 + 19 = 23
同样重要的是要注意,您的示例只生成一个数字结果,因为操作是-
,如果使用了添加(+
),它将执行字符串连接。
答案 1 :(得分:0)
第一个减号与减法相同,第二个减号与减号一样。
所以4减负19等于23
这是我的猜测;)
答案 2 :(得分: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;