生成随机颜色
0xFFFFFF或者#FFFFFF 表示白色,和RGB(255, 255, 255)一样。 0x表示16进制.
颜色有3个部分,红绿蓝。通常每个存储一个单字节。因此可以位于0,255。或者位于0,FF之间。颜色是#RGB, 因此可以为0x0 到0xFFFFFF. 随机数乘以0xFFFFF
意味着可以生成任何任何颜色
"0x" is a prefix meaning "just to be sure, the rest of this is a hex value, okay? Even if it doesn't happen to have any A-F symbols in it, don't go interpreting it as decimal; and especially make sure you don't interpret it as an identifier name."
0x 可能是最常见的前缀--对于16进制数来说,出现在许多语言和环境里。在汇编语言里,你可能会见到$
前缀,h
后缀。
16进制三联体, FF, FF, FF。
F在16进制中表示十进制的15,FF在十进制就是15*16+15=255。
0xFFFFFF 等于十进制的16777215
255 255 255 就是白色
生成随机颜色
1 public getRandomColor() { 2 var randColor = (Math.random() * 0xFFFFFF << 0).toString(16); 3 while (randColor.length < 6) { 4 randColor = "0" + randColor; 5 } 6 return "#" + randColor; 7 }
<<
是按位左移运算符,右边的操作数是要移位的位数,移位0位没有效果,按位移位仅为整数定义,严格来说JavaScript没有整数 - 它只有一个由IEEE双精度实现的数字类型。
为了让
<<
有意义,左手操作数必须首先舍入为整数。此操作中使用的舍入类型是截断/截尾,举个例子,小数点右侧的部分都丢掉。这也叫做向零舍入。round-towards-zero
(我们通常见到的舍入方法是像最近的整数舍入。round-towards-nearest
,)
还有以下的舍入类型
- round-towards-positive-infinity
- round-towards-negative-infinity
- round-away-from-zero
对于正数,round-toward-zero
和Math.floor() 效果一样, 但是写<<0
更快. 实际上,写 |0
更快,它对值0调用按位OR运算符,它也是一个操作-除了将左侧的操作数截尾为整数之外,没有其他效果。
https://www.sitepoint.com/javascript-generate-lighter-darker-color/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?