学习使用js的 random方法生成随机数
生成随机数1-100
<!DOCTYPE html>
<html>
<body>
<p>单击该按钮可显示 1 到 100 之间的随机数。</p>
<button onclick="myFunction()">试一试</button>
<p id="demo"></p>
<script>
function myFunction() {
var x = document.getElementById("demo")
x.innerHTML = Math.floor((Math.random() * 100) + 1);
}
</script>
</body>
</html>
Math.floor用法
Math.floor(x) 中x可以使一个数值,也可以是一个表达式。返回值小于等于x,且与x最接近的整数。
var number = 123.56;
console.log(Math.floor(number)); //返回值为123
var number = 0.56;
console.log(Math.floor(number)); //返回值为 0
var number = 10/3;
console.log(Math.floor(number)); //返回值为 3
var number = 2.5*3.5; //8.75
console.log(Math.floor(number)); // 返回值为 8
Math.random()方法
Math.random()方法返回大于等于 0 小于 1 的一个随机数
例:产生1-10的随机数
var rand1 = Math.floor(Math.random() * 10 + 1);
编写产生startNumber至endNumber随机数的函数
function selectFrom(startNumber, endNumber) {
var choice = endNumber - startNumber + 1;
return Math.floor(Math.random() * choice + startNumber)
}
var rand2 = selectFrom(2,8);//产生2至8的随机数
在不相邻的两个整数中取得一个随机数
例:随机产生2或4中的一个数
var rand3 = Math.random() < 0.5 ? 2 : 4;
在不相邻的多个整数中产生一个随机数
结合函数参数数组,可编写在不相邻的多个整数中产生一个随机值的函数
function selectFromMess() {
return arguments[Math.floor(Math.random() * arguments.length)]
}
//随机产生1、6、8中的一个数
var rand4 = selectFromMess(1, 6, 8);
//也可随机产生文本
var randomTxt1 = selectFromMess("安慰奖", "二等奖", "一等奖");
每次要输入这么多参数比较麻烦,可以改写一下函数
function selectFromMessArray(arr) {
return arr[Math.floor(Math.random() * arr.length)]
}
var arrayTxt=["一","二","三","四","五"];
var randTxt2 = selectFromMessArray(arrayTxt);