美文网首页零基础悟透javaScriptJavaScript学习笔记程序员
js常用方法和一些封装(2) -- 随机数生成

js常用方法和一些封装(2) -- 随机数生成

作者: 剽悍一小兔 | 来源:发表于2016-08-11 11:26 被阅读645次

任何编程语言,随机数都是必不可少的,我在开发过程中,尤其在自己做一些小玩意的时候,就经常使用随机数,后来发现每次使用都懒得写,直接去网上搜一个,拿过来就用了。

可是时间一长,发现总是去网上搜不太好,就干脆做一个总结,现在分享出来。顺便附上一个小案例来说明。

先上小案例的截图:

1.gif

这个例子是先画上一堆div,然后给每一个div绑定一个变颜色的事件,当然,颜色是随机生成的。

随机数字

/**
 * 获取 0 ~ num 的随机数(闭区间)
 */
function randomNum(num){
    return Math.floor(Math.random()*(num+1));
};

/*
 * 获取范围随机数 (闭区间)
 */
function randomRange(start,end){
    return Math.floor(Math.random()*(end-start+1))+start;
};

随机颜色

/**
 *  获取随机颜色(不支持IE678) 因为rgba是IE9+才支持的
 */
function randomColor(){
    var r = Math.floor(Math.random()*256);
    var g = Math.floor(Math.random()*256);
    var b = Math.floor(Math.random()*256);
    return "rgb("+r+","+g+","+b+")";//IE7不支出rgb
};

/**
 *  获取随机颜色(支持任意浏览器)
 */
function randomColor16(){
    //0-255 
    var r = randomNum(255).toString(16);
    var g = randomNum(255).toString(16);
    var b = randomNum(255).toString(16);
    //255的数字转换成十六进制
    if(r.length<2)r = "0"+r;
    if(g.length<2)g = "0"+g;
    if(b.length<2)b = "0"+b;
    return "#"+r+g+b;
};

顺便再贴上一开始的小demo的代码:

  for(var x = 0 ; x < 29 ; x++){
    for(var y = 0 ; y < 23 ; y++){
        var div = document.createElement("div");
        document.body.appendChild(div);
        div.style.position = 'absolute';
        div.style.width = '23px';
        div.style.height = '23px';
        div.style.left = x * 23 + 'px';
        div.style.top = y * 23 + 'px';
        div.style.background = '#CCC';
        div.style.border = '1px solid #666';
        
        div.onclick = function(){
            this.style.background = randomColor16();
            this.onclick = null; //取消该div的点击事件
        }
    }
 }

注:以下代码代表创建一个div元素。

document.createElement("div");

js小巧而灵活,是不是觉得很有趣呢?

本章结束 ...

剽悍一小兔,电气自动化毕业。
参加工作后对计算机感兴趣,深知初学编程之艰辛。
希望将自己所学记录下来,给初学者一点帮助。

免责声明: 博客中所有的图片素材均来自百度搜索,仅供学习交流,如有问题请联系我,侵立删,谢谢。

相关文章

  • js常用方法和一些封装(2) -- 随机数生成

    任何编程语言,随机数都是必不可少的,我在开发过程中,尤其在自己做一些小玩意的时候,就经常使用随机数,后来发现每次使...

  • vue axios cdn 封装

    1.config.js 常用域名封装: 2.utils.js 常用的方法封装: 3.api.js axios接口...

  • js不懂

    js常用方法和一些封装 -- 时间相关(附案例详解)http://www.jianshu.com/p/e54156...

  • js jquery的区别

    1. JS / JQuery介绍 Jquery是JS库,何为JS库,即把常用的js方法进行封装,封装到单独的JS文...

  • Javascript第四章内置函数、函数的基本用法第一课

    js的内置对象是js自带,封装了一些常用的方法,供开发者使用,可以无需创建对象直接使用。常用的js内置对象有:St...

  • random模块

    random模块用于生成随机数。 常用函数 更多random模块的方法参考:https://docs.python...

  • Js中Math类的常用方法

    js生成随机数主要用了math对象的random方法.用法:Math.random( ) Math.ce...

  • js常用方法和一些封装(1)

    博主在js上已经花费了很长时间,不禁深深地被其轻巧而强大的功能,以及优雅灵活的写法所折服,一直没找到机会来总结一下...

  • PHP生成随机数

    PHP生成随机数,相信大家在做项目的时候是最常见的吧。js生成随机数,PHP生成随机数。 应用场景:用户注册/登录...

  • 轻松生成测试接口数据-python faker

    常用方法 name() 生成随机名字 random_int() 整数random_digit() 0-9 的随机数...

网友评论

    本文标题:js常用方法和一些封装(2) -- 随机数生成

    本文链接:https://www.haomeiwen.com/subject/qktssttx.html