我使用此移动代码制作动画:
x += -1
我只是想知道如果我写这个有什么区别:
x -= 1
结果仍然相同,但在我进一步移动之前,这两者之间是否存在任何差异?
感谢。
答案 0 :(得分:8)
x += -1
是x = x + -1
的简写,而x -= 1
是x = x - 1
的简写。只要x是javascript Number
,这将产生相同的结果。但是因为+
也可以用于字符串连接,例如考虑x是String
'5'
,我们将遇到这种情况:
'5' + -1 = '5-1'
和'5' - 1 = 4
。
因此,在选择哪一个而不是盲目地交替使用它们之前,最好三思而后行。
答案 1 :(得分:3)
你所拥有的只不过是简写操作符。在第一种情况下,它是Addition Assignment,在第二种情况下,它是Subtraction Assignment。
因此,您的代码x += -1
可以解释如下:
x = x + -1; // which is the same as..
x = x - 1; // which can be rewritten as..
x -= 1;
答案 2 :(得分:1)
数学上没有区别。 2 + -1 = 1,与2 - 1 = 1
相同