|
|
请马上登录,朋友们都在花潮里等着你哦:)
您需要 登录 才可以下载或查看,没有账号?立即注册
x
JS的数学对象,Math,拥有30多个方法,其中有一个方法是获取随机数的,即:
Math.random()
Math 作为对象,头一个字母必须大写。它的方法(还有属性)用 . 引出,方法名称后面还需要一对小角括号 () 。下例,变量 num 将返回一个随机浮点数:
let num = Math.random(); // → 0.9676556562786631,0.019366373057749575
变量 num 得到的值将是不确定的,但有范围,从 0 开始(包含 0 ),到 1 止(不包含 1,也就是 num 永远小于 1)。num 值范围可以表示为:
0 ≤ num < 1
浮点数有时候我们不能直接使用,例如,当我们需要随机获取特定数组的下标,只能使用整数。Math 为我们提供了足够的方法:
Math.ceil() - 向上取整 (例:Math.ceil(7.001);// → 8)
Math.floor() - 向下取整 (例:Math.floor(7.999); // → 7)
Math.round - 四舍五入 (例:Math.round(7.001); //→ 7 ,Math.round(7.999); // → 8)
利用以上方法,配合 Math.random() ,我们将得到我们所需要的整数,当然我们需要设计相应的算式。
例如,我们想得到 0~1 之间的整数:
num = Math.round(Math.random());
num 的值不是 0 就是 1 ,因为 round() 方法用四舍五入的方式处理 Math.random() 所得的值,而该值要么大于、要么小于 0.5 。
那如果我们的预期是获得从 0 到 20 的整数、包含 0 和 20,又该怎么做?这个简单,将上面的示例改进一下便可:
num = Math.round(Math.random() * 20);
上面的语句,Math.random() * 20 得到的值是浮点数,其值范围,根据前述的原理,将从 0.0 到 19.999... 之间;而 Math.round() 对其四舍五入后,得到的结果自然是从 0 到 20 之间,包含我们所限定的头尾边界数 0 和 20 。
实际应用中,我们还可以灵活使用另外的两个方法,可以将 Math.ceil() 和 Math.floor() 加入到算式中(当然,它们,连同 Math.round(),亦可以单独使用),达到用最简单有效的方式实现我们预设的目的。算式的设计,应高度结合实际的应用需求与场景特性。
作为入门介绍,本帖点到为止。感谢阅读!
|
评分
-
| 参与人数 1 | 威望 +50 |
金钱 +100 |
经验 +50 |
收起
理由
|
红影
| + 50 |
+ 100 |
+ 50 |
赞一个! |
查看全部评分
|