【发布时间】:2010-11-12 05:28:50
【问题描述】:
在不使用任何框架的情况下,在 JavaScript 中生成随机颜色的最佳方法是什么...
以下是我想出的几个解决方案:
function get_random_color()
{
var color = "";
for(var i = 0; i < 3; i++) {
var sub = Math.floor(Math.random() * 256).toString(16);
color += (sub.length == 1 ? "0" + sub : sub);
}
return "#" + color;
}
function get_rand_color()
{
var color = Math.floor(Math.random() * Math.pow(256, 3)).toString(16);
while(color.length < 6) {
color = "0" + color;
}
return "#" + color;
}
有更好的方法吗?
【问题讨论】:
-
如果您正在为人类生成颜色并且需要大量可区分的颜色,您最好使用随机 HSV(参见 en.wikipedia.org/wiki/HSL_and_HSV)值。因为您可以为 S 和 V 提供更少的可能性,但仍然可以得到看起来不同的颜色。
标签: javascript random