前端js生成唯一的uuid方法

319 阅读1分钟
  1. 前端图片校验码请求 (1+Math.random()) 结果是1点几的数值。

Math.random() 生成 [ 0 , 1 )

0x10000 16进制换成十进制就是65536,换成五位数字符串

(1+Math.random())*0x10000 生成1~65536的随机数

(1+Math.random())*0x10000 | 0 位运算,确切的说是或运算。一个数跟 0 做或运算,等于只保留这个数的整数部分

((1+Math.random())*0x10000 | 0).toString(16) 转成十六进制 ,换成五位数字符串, 例如:'162a4'

((1+Math.random())*0x10000 | 0).toString(16).substring(1) 从下标为1开始包含,截断,得到一个四位数的随机字符串,例如: 62a4

 UUIDGenerator: () => {
    function S4 () {
      return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1)
    }
    return (
      S4() +
      S4() +
      '-' +
      S4() +
      '-' +
      S4() +
      '-' +
      S4() +
      '-' +
      S4() +
      S4() +
      S4()
    )
  },