当前位置: 首页 > news >正文

一句JS代码,实现随机颜色的生成

今天我们只用 一句JS代码,实现随机颜色的生成,首先看一下效果:

每次刷新浏览器背景颜色都不一样

实现此效果的JS函数 :

  1. let randomColor = () => ...: 定义一个箭头函数randomColor,用于生成一个随机颜色。
    • Math.random(): 生成一个0到1之间的随机数。
    • Math.random() * 0xffffff: 将这个随机数乘以0xffffff(即16777215,这是16进制表示的最大值),得到一个0到16777215之间的随机整数。
    • Math.floor(...): 对上述结果进行向下取整,确保得到的是一个整数。
    • .toString(16): 将这个整数转换为16进制字符串。
    • `#${...}`: 将16进制字符串包裹在#符号中,形成CSS颜色代码的格式。
  2. document.body.style.backgroundColor = randomColor(): 调用randomColor函数生成一个随机颜色,并将其设置为<body>元素的背景颜色。

实现原理

  • 使用JavaScript的Math.random()函数生成一个0到1之间的随机数。
  • 将这个随机数乘以0xffffff,得到一个0到16777215之间的随机整数。
  • 使用Math.floor()函数将结果向下取整,确保得到的是一个整数。
  • 使用.toString(16)方法将整数转换为16进制字符串。
  • 将16进制字符串包裹在#符号中,形成CSS颜色代码的格式。
  • 将生成的随机颜色代码设置为<body>元素的背景颜色。

完整代码:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>Document</title></head><body><script>// 定义一个函数,生成一个随机的颜色let randomColor = () =>`#${Math.floor(Math.random()*0xffffff).toString(16)}`// 将body的背景颜色设置为随机生成的颜色document.body.style.backgroundColor = randomColor()</script></body>
</html>

 

相关文章:

一句JS代码,实现随机颜色的生成

今天我们只用 一句JS代码&#xff0c;实现随机颜色的生成&#xff0c;首先看一下效果&#xff1a; 每次刷新浏览器背景颜色都不一样 实现此效果的JS函数 &#xff1a; let randomColor () > ...: 定义一个箭头函数randomColor&#xff0c;用于生成一个随机颜色。 Math.ra…...

校园抢课助手【7】-抢课接口限流

在上一节中&#xff0c;该接口已经接受过风控的处理&#xff0c;过滤掉了机器人脚本请求&#xff0c;剩下都是人为的下单请求。为了防止用户短时间内高频率点击抢课链接&#xff0c;海量请求造成服务器过载&#xff0c;这里使用接口限流算法。 先介绍下几种常用的接口限流策略…...

char类型和int类型

一、char类型 在Java中&#xff0c;char&#xff08;字符&#xff09;类型用于表示单个字符&#xff0c;它是基本数据类型之一。以下是关于Java中char类型的一些重要信息&#xff1a; 表示方式&#xff1a; char类型用于存储Unicode字符&#xff0c;占用16位&#xff08;即2个字…...

C++参悟:stl中的比较最大最小操作

stl中的比较最大最小操作 一、概述二、最小值1. min2. min_element 三、最大值1. max2. max_element 四、混合1. minmax2. minmax_element 一、概述 记录这里C11中常用的最小值和最大值的比较函数&#xff0c;最好的参考资料其实就是 https://zh.cppreference.com 最重要的查…...

JAVA读取netCdf文件并绘制热力图

读取netCdf的依赖 <dependency><groupId>ucar</groupId><artifactId>netcdfAll</artifactId><version>5.5.3</version><scope>system</scope><exclusions><exclusion><groupId>org.slf4j</groupId…...

数据结构——八大排序

一.排序的概念和其应用 1.1排序的概念 排序&#xff1a;排列或排序是将一组数据按照一定的规则或顺序重新组织的过程&#xff0c;数据既可以被组织成递增顺序&#xff08;升序&#xff09;&#xff0c;或者递减顺序&#xff08;降序&#xff09;。稳定性&#xff1a;假定在待…...

【Unity】RPG2D龙城纷争(十九)流程与UI界面(终章)

更新日期:2024年8月1日。 项目源码:第五章发布(正式开始游戏逻辑的章节) 索引 简介一、游戏流程1.初始化流程2.开始流程3.关卡流程4.关卡结束流程5.启用所有流程二、UI界面逻辑1.开始界面2.存档界面3.关卡界面DataRegion 数据显示逻辑区域RoundRegion 回合逻辑区域RoleMenu…...

C#类和结构体的区别

1、类class是引用类型&#xff0c;多个引用类型变量的值会互相影响。存储在堆&#xff08;heap&#xff09;上 2、结构体struct是值类型&#xff0c;多个值类型变量的值不会互相影响。存储在栈&#xff08;stack&#xff09;上 类结构关键字classstruct类型引用类型值类型存储…...

【RabbitMQ】RabbitMQ持久化

一、简介 RabbitMQ的持久化机制是一种确保数据在RabbitMQ服务重启或异常情况下不会丢失的重要特性。RabbitMQ的持久化主要包括三个方面的内容&#xff1a;交换器的持久化、队列的持久化、消息的持久化。 二、交换器的持久化 1、实现方式 在RabbitMQ中&#xff0c;实现交换器…...

算法刷题笔记 Kruskal算法求最小生成树(详细算法介绍,详细注释C++代码实现)

文章目录 题目描述基本思路实现代码 题目描述 给定一个n个点m条边的无向图&#xff0c;图中可能存在重边和自环&#xff0c;边权可能为负数。求最小生成树的树边权重之和&#xff0c;如果最小生成树不存在则输出impossible。 最小生成树的概念&#xff1a;给定一张边带权的无向…...

5年经验的软件测试人员,碰到这样的面试题居然会心虚......

我们这边最近的面试机会比较多&#xff0c;但是根据他们的反馈&#xff0c;结束后大部分都没音信了&#xff0c;因为现在企业面试问的非常多&#xff0c;范围非常广&#xff0c;而且开放性的问题很多&#xff0c;很多人即便面试前刷了成百上千道面试题&#xff0c;也很难碰到一…...

C#进阶-轻量级ORM框架Dapper的使用教程与原理详解

本文详细介绍了Dapper在C#中的使用方法&#xff0c;包括Dapper的基本概念、与其他持久层框架的比较、基本语法和高级语法的使用&#xff0c;并通过实例讲解了如何在项目中集成和使用Dapper。Dapper以其高效的性能和简洁的API受到开发者的青睐&#xff0c;适用于各种数据库操作需…...

Windows图形界面(GUI)-MFC-C/C++ - 编辑框(Edit Control) - CEdit

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 编辑框(Edit Control) - CEdit 基本概念 成员函数 示例代码 编辑框(Edit Control) - CEdit 基本概念 编辑框&#xff08;Edit Control&#xff09;是一个允许用户输入和编辑文本的窗…...

网络安全防御【IPsec VPN搭建】

目录 一、实验拓扑图 二、实验要求 三、实验思路 四、实验步骤&#xff1a; 修改双机热备的为主备模式&#xff1a; 2、配置交换机LSW6新增的配置&#xff1a; 3、防火墙&#xff08;FW4&#xff09;做相关的基础配置&#xff1a; 4、搭建IPsec VPN通道 &#xff08;1…...

java环境配置与tomcat的配置

1、java环境配置 一、JDK下载 访问Oracle官网&#xff1a; 前往Oracle官网&#xff08;Oracle | Cloud Applications and Cloud Platform&#xff09;&#xff0c;在首页的顶部菜单中选择“Resources” > “Downloads” > “Java” > “JDK”。注意&#xff1a;Orac…...

OD C卷 - 来自异国的客人/幸运数字

来自异国的客人/幸运数字&#xff08;100&#xff09; 输入描述&#xff1a; 输入k,n,m k表示物品价值&#xff08;十进制&#xff09; k>0 n表示幸运数字, n > 0 m表示异国采用的进制&#xff1b;m > 1 n < m 输出描述&#xff1a; 输出幸运数字的个数&#xff0…...

C++ | 动态内存管理 new、delete (用法、底层)详解

目录 简单回顾C语言动态内存管理 new、delete的用法 内置类型 new delete 自定义类型 new、delete底层讲解&#xff08;重要&#xff09; operator new 与 operator delete 定位 new 结语 简单回顾C语言动态内存管理 在C语言的学习阶段 我们接触到了三个能在堆上开辟…...

【C语言】结构体内存布局解析——字节对齐

&#x1f984;个人主页:小米里的大麦-CSDN博客 &#x1f38f;所属专栏:https://blog.csdn.net/huangcancan666/category_12718530.html &#x1f381;代码托管:黄灿灿 (huang-cancan-xbc) - Gitee.com ⚙️操作环境:Visual Studio 2022 目录 一、引言 二、什么是字节对齐&…...

模型表达方式

目录 一、模型表达概述 二、模型精确表达 2.1 几何表示 (Geometrical Representation) 三、模型非精确表达 3.1 网格表示 (Mesh Representation) 3.2 体素表示 (Voxel Representation) 一、模型表达概述 模型的表达方式多种多样,选择适合的表达方式取决于具体应用场景和…...

校园课程助手【4】-使用Elasticsearch实现课程检索

本节将介绍本项目的查询模块&#xff0c;使用Elasticsearch又不是查询接口&#xff0c;具体流程如图所示&#xff08;如果不了解Elasticsearch可以使用sql语句进行查询&#xff09;&#xff1a; 这里是两种方法的异同点&#xff1a; Mysql&#xff1a;擅长事务类型操作&#…...

5个颠覆认知的Java接口测试自动化平台实践指南

5个颠覆认知的Java接口测试自动化平台实践指南 【免费下载链接】TestHub 接口自动化测试-持续集成测试 项目地址: https://gitcode.com/gh_mirrors/te/TestHub 在现代软件工程中&#xff0c;Java接口测试自动化框架已成为保障系统质量的关键基础设施。TestHub作为一款专…...

从使用到原理,深度解析jsontop.cn—— 开发者必备的一站式在线工具站实现逻辑

前言 在前后端分离的开发体系中&#xff0c;JSON 格式化、加密解密、正则测试等基础操作&#xff0c;是开发者每天都要面对的「高频刚需」&#xff0c;但传统的本地工具安装繁琐、跨设备使用受限&#xff0c;普通在线工具又存在广告泛滥、数据安全隐患等问题。jsontop.cn作为一…...

Qwen-Image-2512惊艳生成:‘水墨亭子’笔触层次与留白意境还原

Qwen-Image-2512惊艳生成&#xff1a;‘水墨亭子’笔触层次与留白意境还原 Qwen-Image-2512 极速文生图创作室 基于阿里通义千问团队的最新模型构建&#xff0c;专为追求极致效率和创意表达的用户设计。通过深度优化的中文语义理解和10步极速出图技术&#xff0c;让您快速将文字…...

抛弃SMB!用Docker三分钟搭建带权限控制的WebDAV服务(2023最新chonjay21镜像版)

企业级WebDAV解决方案&#xff1a;基于Docker的权限管理与安全共享实践 在数字化协作日益普及的今天&#xff0c;企业文件共享需求呈现出爆发式增长。传统SMB/NFS协议虽然普及度高&#xff0c;但在跨平台兼容性、互联网传输安全性方面存在明显短板。WebDAV作为HTTP协议的扩展&a…...

OpenClaw本地模型省钱方案:GLM-4.7-Flash自部署与API调用对比

OpenClaw本地模型省钱方案&#xff1a;GLM-4.7-Flash自部署与API调用对比 1. 为什么需要关注OpenClaw的模型成本&#xff1f; 当我第一次用OpenClaw自动整理电脑上的2000多份PDF文献时&#xff0c;第二天查看账单发现消耗了价值37元的API Token——这还只是单次任务。作为长期…...

GitHub Markup终极指南:轻松掌握代码渲染与文档格式化的完整教程

GitHub Markup终极指南&#xff1a;轻松掌握代码渲染与文档格式化的完整教程 【免费下载链接】markup Determines which markup library to use to render a content file (e.g. README) on GitHub 项目地址: https://gitcode.com/gh_mirrors/ma/markup GitHub Markup 是…...

Qwen3-ASR-1.7B镜像免配置部署:Docker+Streamlit开箱即用语音识别工具链

Qwen3-ASR-1.7B镜像免配置部署&#xff1a;DockerStreamlit开箱即用语音识别工具链 你是不是也遇到过这样的烦恼&#xff1f;开会时手忙脚乱地记笔记&#xff0c;结果漏掉了关键信息&#xff1b;看外语视频时&#xff0c;字幕跟不上或者干脆没有字幕&#xff1b;想把一段重要的…...

像素幻梦应用场景:AR滤镜开发者用AI生成像素风贴纸与动态遮罩

像素幻梦应用场景&#xff1a;AR滤镜开发者用AI生成像素风贴纸与动态遮罩 1. 像素幻梦创意工坊简介 Pixel Dream Workshop&#xff08;像素幻梦创意工坊&#xff09;是一款专为数字艺术创作者设计的AI像素艺术生成工具。基于FLUX.1-dev扩散模型构建&#xff0c;这款工具将传统…...

HomeAssistantLibrary:ESP32/ESP8266嵌入式MQTT自动发现库

1. HomeAssistantLibrary&#xff08;HALib&#xff09;技术深度解析 HomeAssistantLibrary&#xff08;简称 HALib&#xff09;是一个专为 ESP8266 和 ESP32 微控制器设计的轻量级、模块化 C 库&#xff0c;其核心目标是 在嵌入式端原生实现 Home Assistant 的 MQTT 自动发现…...

802.11n频宽模式全解析:HT20和HT40在不同场景下的最佳选择指南

802.11n频宽模式实战指南&#xff1a;HT20与HT40的智能选择策略 无线网络性能优化一直是网络管理员和技术爱好者关注的焦点。在802.11n标准中&#xff0c;HT20和HT40两种频宽模式的选择直接影响着网络吞吐量、覆盖范围和抗干扰能力。本文将深入剖析这两种模式的技术特性&#x…...