我们先理清几个概念:

1.Math.random(); 结果为0-1间的一个随机数(包括0,不包括1)
2.Math.floor(num); 参数num为一个数值,函数结果为num的整数部分(去掉小数部分只取整数)。
3.Math.round(num); 参数num为一个数值,函数结果为num四舍五入后的整数(会根据后面的小数四舍五入取整数)。

    Math:数学对象,提供对数据的数学计算。

    Math.ceil(n); 返回大于等于n的最小整数。
用Math.ceil(Math.random()*10);时,主要获取1到10的随机整数,取0的几率极小。

    Math.round(n); 返回n四舍五入后整数的值。
用Math.round(Math.random());可均衡获取0到1的随机整数。
用Math.round(Math.random()*10);时,可基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。

    Math.floor(n); 返回小于等于n的最大整数。
用Math.floor(Math.random()*10);时,可均衡获取0到9的随机整数

案例:

<script language="javascript">
  var q=Math.random();
  alert(Math.floor(q*5));

</script>


如果你希望生成1到任意值的随机数,公式就是这样的:

parseInt(Math.random()*max,10)+1;
Math.floor(Math.random()*max)+1;
Math.ceil(Math.random()*max);