问题
今天我遇到了一个奇怪的计算,它是这样的:
"4"- -19
'-' 之间是一个空格并且是必需的
答案是 23——一个数字
这个怎么运作?
某人的建议
我的同事说这等于:
"4"-(0-19)
这真的让我觉得“哦,这就是事实”
但我不知道怎么做?
计算的顺序不是从左到右吗?为什么'- -' 不同,这是什么意思?
今天我遇到了一个奇怪的计算,它是这样的:
"4"- -19
'-' 之间是一个空格并且是必需的
答案是 23——一个数字
这个怎么运作?
我的同事说这等于:
"4"-(0-19)
这真的让我觉得“哦,这就是事实”
但我不知道怎么做?
计算的顺序不是从左到右吗?为什么'- -' 不同,这是什么意思?
基础数学真的。
var x = 4 - (-19);//I included the brackets to demonstrate the effect of the space
//x = 23
请注意,它被解释为 -19(负 19)
减去负数与添加该数的正数具有相同的效果。所以它会转化为:4 + 19 = 23
同样重要的是要注意,您的示例仅产生数字结果,因为操作是-
,如果使用了加法 ( +
),它将改为执行字符串连接。
第一个减号是减法,第二个减号是负数。
所以 4 减去负 19 等于 23
这是我的猜测;)
这很容易测试。
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;