在javascript中变量名后的*是什么

时间:2017-12-28 07:02:59

标签: javascript random

我是javascript的新手,我正试图获得1000到-1000之间的随机正数和负数

How to get Random number + & -

中有回复

这里提到了以下建议

var num = Math.floor(Math.random()*99) + 1; // this will get a number between 1 and 99;
num *= Math.floor(Math.random()*2) == 1 ? 1 : -1; // this will add minus sign in 50% of cases

什么是num *?我的意思是这个概念需要我更多地研究。

4 个答案:

答案 0 :(得分:1)

这会将num

的结果分配给num * result of the right side of expression变量

num *= Math.floor(Math.random()*2) == 1 ? 1 : -1

只是写这个

的简洁形式

num = num * Math.floor(Math.random()*2) == 1 ? 1 : -1

答案 1 :(得分:1)

赋值运算符'='也可以写为

/=
+=
-=
%=
*=

他们都代表

x = x / (right hand side);
x = x + (right hand side);
x = x - (right hand side);
x = x % (right hand side);
x = x * (right hand side);

答案 2 :(得分:1)

*=运算符是"乘以"的简写,以下语句是相同的:

x *= 2;
x = x * 2;

至于你的实际需求,这是一个简单的解决方案:

x = Math.floor(Math.random() * 2001) - 1000;

答案 3 :(得分:1)

如果在赋值运算符之前存在二元arithematic运算符,则

a += b
a -= b
a *= b
a /= b

这意味着

a = a + b
a = a - b
a = a * b
a = a / b

分别