码迷,mamicode.com
首页 > 其他好文 > 详细

生成任意范围的随机数/颜色

时间:2016-09-30 12:13:37      阅读:351      评论:0      收藏:0      [点我收藏+]

标签:

1, 生成任意范围的随机数,假设生成数起始位置是startNum , 结束位置是endNum;  (startNum ~ endNum). 因为Math.random() 方法只生成换成(0~1) 之间的随机数,所以,(startNum ~ endNum)要向(0~1)进行转换。 startNum +(0 ~ endNum-startNum), 后面的括号中有0了, 已经进了一步了,那怎么得到1? 任何数除以它本身都得1, 0除以任何数都得0 , 后面的括号中都除以(endNUm-startNum), 然后再在外面乘以 (endNUm-startNum);   startNum +(0 ~ 1)*endNum-startNum; 这时得到的是小数,Math.round/parseInt  都可以进行取整。

function getRandomNum(startNum, endNum){
    return Math.round(startNum + Math.random() *(endNum -startNum));
}

2, 生成一个随机颜色; 颜色用16进制表示, 那就生成16进制内的任意一随机数,0Xfffff 表示16进制内的最大数, Math.random() * 0Xffffff 就是返回16 进制内的任意一个数,不过它是一个10进制的数, 当然不要忘记取整(下面的<<0 表示取整),还要把它转换成16 进制。

function getcolor(){
    return "#" +(Math.random()*0Xffffff<<0).toString(16);  // 在js中,任何算术计算都转换成10进制进行计算。
}

 

生成任意范围的随机数/颜色

标签:

原文地址:http://www.cnblogs.com/SamWeb/p/5923220.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!