我是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 *?我的意思是这个概念需要我更多地研究。
答案 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
分别