zoukankan      html  css  js  c++  java
  • 用原生JS写16进制随机颜色

    方法一

    步骤构思:Math对象随机,转16进制字符,截取六位字符

        var a = Math.random(); // 调用静态对象方法抛出随机数a
        console.log(a);
    
        var b = a.toString(16); // 把a转换为16进制的字符串
        console.log(b);  
        console.log(b.length); // 15
        /* 进制的问题,为什么不是16(就像十进制为什么只有9而没有10) */
    
        var c = b.substr(-6); // 截取字符串后六位
        console.log(c);
    
    
        var color = '#' + Math.random().toString(16).substr(-6); // 加上'#'串联成一行代码
        console.log(color);
    


    方法二

    步骤构思:数组遍历六次,Math对象随机索引,共存储六位字符

        var arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'];
        console.log(arr.length); // 16
    
        function getColor() {
            var str = '#';
            for (var i = 1; i <= 6; i++) {
                function getRandom(min, max) { // 调用静态对象Math.random(包含大小值间取一个整数)
                    return Math.floor(Math.random() * (max - min + 1)) + min;
                }
                var num = arr[getRandom(0, arr.length - 1)]; // 把从数组中随机索引的一个字符串赋值给变量
                /* 十六进制的长度为何要-1(就像十进制为什么只有9而没有10),如果超出则报underfined */
                str += num;
            }
            return str; //遍历索引满6个字符则返回函数值
        }
        var color = getColor();
    
        console.log(color.toLowerCase()); // 把字符串转为小写输出
    



    作者:MaricoCheung
    出处:http://www.cnblogs.com/MaricoCheung/
    ——有心人做有心事哦,晚安EmilyChen!

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

     
  • 相关阅读:
    unity3d应用内分享(微信、微博等)的实现
    Cocostudio 文章列表
    C++ 文章列表
    Android 文章列表
    js函数节流和函数防抖
    js实现队列-通过闭包方式
    初学js正则
    Android网络图片加载
    利用html5制作正方体,同时实现3D旋转效果
    Python模块——random随机模块
  • 原文地址:https://www.cnblogs.com/MaricoCheung/p/13715417.html
Copyright © 2011-2022 走看看