如何在JavaScript中减去两个东西。。。?
我正在做一个游戏,我需要扣除正确的分数。我的这句话不起作用如何在JavaScript中减去两个东西。。。?,javascript,Javascript,我正在做一个游戏,我需要扣除正确的分数。我的这句话不起作用 -=然后-?让我们给变量赋值。假设playerPower为10,onGrass为2,passengerBayPower为4。你可能期望答案是10-2-4=4,对吗?错了 playerPower -= onGrass - passengerBayPower 对应于 playerPower = playerPower - (onGrass - passengerBayPower) = playerPower - o
-=然后-?让我们给变量赋值。假设
playerPower
为10,onGrass
为2,passengerBayPower
为4。你可能期望答案是10-2-4=4
,对吗?错了
playerPower -= onGrass - passengerBayPower
对应于
playerPower = playerPower - (onGrass - passengerBayPower)
= playerPower - onGrass + passengerBayPower
// ^^^ using basic mathematics
这意味着你得到了10-2
+
4=12
要修复此问题,请使用onGrass+passengerBayPower
,或将passengerBayPower
一起删除,并将其扔到末尾:
playerPower -= passengerBayPower;
因为这在所有情况下都很常见。您可以通过以下方式简化它:
var color = map[row][cell];
var diff = 0;
console.log(color);
if (color == "g") {
alert("Green");
diff = onGrass - passengerBayPower
} else if (color == "b") {
alert("Brown");
diff = onRock - passengerBayPower
} else if (color == "w") {
alert("White");
diff = onIce - passengerBayPower
}
playerPower -= diff;
我不知道头顶上的关联性,但添加一些括号可能会有所帮助。正如Joe所说,如果用括号括住减法,它应该会起作用。不会--某些东西变成+?:)或者在右侧使用
+
。x=25代码>x-=10-5代码>在我的浏览器控制台中运行良好。正确答案是25-5=20
。我以为他懂基础数学。我猜我想错了吗?@Paul当你被教导x-=y
是x=x-y
的缩写时,假设x-=y-z
是x=x-y-z
的缩写(没有括号)并不过分,但是。。。是的,XD
var color = map[row][cell];
var diff = 0;
console.log(color);
if (color == "g") {
alert("Green");
diff = onGrass - passengerBayPower
} else if (color == "b") {
alert("Brown");
diff = onRock - passengerBayPower
} else if (color == "w") {
alert("White");
diff = onIce - passengerBayPower
}
playerPower -= diff;