JavaScript中的'/='运算符是什么意思?

6

我在查看一些JavaScript物理动画源代码时发现了这个,您可以在这里的github页面上看到作者编写的代码片段。

if (this._position < 0) this._position /= 3;

一快速的谷歌搜索没有得到结果,有人知道吗?

2
简写除法运算符。 - Tushar
2
被称为“除法/赋值运算符”:它执行除法,然后将值赋给变量。详情请参见:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Expressions_and_Operators - Jeremy J Starcher
这意味着“如果位置小于零,则将位置设置为位置除以三”...? - bigmadwolf
3个回答

11

该运算符是短除赋值运算符。它等同于

this.position = this.position / 3;

首先进行除法计算,然后将结果分配给被除数。

引用自MDN

除法赋值运算符会将变量除以右侧操作数的值,并将结果分配给该变量。


很好!好的,那就说得通,只是不太明白为什么他要以那种方式来做,但我想这又是另一个问题了。 - bigmadwolf
1
@pushplaybang 源文件中的注释解释了原因:// 如果手指在一个不允许的方向上拖动菜单,则使移动效果减弱。 - James

1
这是除法的等效写法,相当于 +=-=

1
这是一个除法赋值运算符: 它执行以下操作: 例如:
var x=10,y=2;
x=x/y;
/*
which is equivalent to x/=y;
and returns 5
*/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接