微信小程序页面实现分享功能

微信小程序页面实现分享功能
寻觅~流光记录-随机数
常见的几种随机数
- 一.常规随机数
Math.random()
- 二.更安全或可控的随机数
crypto.getRandomValues()
crypto.randomUUID()
- 三.伪随机
- 基于
Date.now()
的随机- 四.第三方库
Lodash
:_.random(min, max)
- Chance.js: 生成随机数、随机名字、随机句子
- UUID 库:
uuid.v4()
一.常规随机数
1.Math.random()
生成一个 [0, 1) 之间的浮点数。
常用于前端大多数场景,比如抽奖、随机颜色、随机数组索引。
1 | const number = Math.random(); |
常用于:
结合范围取整(利用
.floor
、Math.ceil
、Math.round
)
1
2
3
4
5
6
7
8
9 // 生成 [min, max) 的随机整数
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
}
// 生成 [min, max] 的随机整数
function getRandomIntInclusive(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
二.更安全或可控的随机数
1.crypto.getRandomValues()
浏览器提供的 安全随机数生成器。
使用密码学安全的随机数填充传入的
TypedArray
返回值是整数(
TypedArray
),适合做加密、令牌、唯一 ID
1 | const array = new Uint32Array(1); |
2.crypto.randomUUID()
1 | const uuid = crypto.randomUUID(); |
三.伪随机
1.基于 Date.now()
的随机
1.基于时间戳(不是真正的随机,更接近“伪随机”。)
1 const r = Date.now() % 100; // 取时间戳最后两位作为“随机” 2842.与
Math.random()
结合
1
2 const r = Math.round((Math.random() * 1000 + Date.now()) % 1000);
console.log(r); // 671
四.第三方库
1.Lodash
: _.random(min, max)
生成一个范围内的随机数,支持整数和浮点数。
1 | import _ from 'lodash'; |
2.Chance.js: 生成随机数、随机名字、随机句子
可以生成随机数、字符串、名字、地址、手机号、句子,甚至身份证号。
1 | import Chance from 'chance'; |
3.UUID 库: uuid.v4()
生成全局唯一 ID,常用于数据库主键、前端唯一标识。
1 | import { v4 as uuidv4 } from 'uuid'; |
评论
匿名评论隐私政策
TwikooWaline
✅ 你无需删除空行,直接评论以获取最佳展示效果