专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

js怎么获取id,js获取id方式介绍

来源:小易整编  作者:小易  发布时间:2023-02-22 09:51
摘要:js怎么获取id,js获取id方式介绍。之前代码中前端生成唯一的id方式,一般采用uuid的方式,最近唯一id有了更好的方式,那就是NanoID,今天这篇文章记录一下NanoID正在取代UUID?及js生成uuid及NanoID的方法。为什...

js怎么获取id,js获取id方式介绍。之前代码中前端生成唯一的id方式,一般采用uuid的方式,最近唯一id有了更好的方式,那就是NanoID,今天这篇文章记录一下NanoID 正在取代 UUID?及js 生成uuid及NanoID的方法。

为什么 NanoID 正在取代 UUID

1、.更安全 在大多数随机生成器中,它们使用不安全的 Math.random()。但是,NanoID 使用 crypto module 和 Web Crypto API,意味着 NanoID 更安全。 此外,NanoID 在 ID 生成器的实现过程中使用了自己的算法,称为 统一算法,而不是使用“随机 % 字母表” random % alphabet。

2、 它既快速又紧凑 NanoID 比 UUID 快 60%。与 UUID 字母表中的 36 个字符不同,NanoID 只有 21 个字符。

此外,NanoID 支持 14 种不同的编程语言,它们分别是:

C#、C++、Clojure 和 ClojureScript、Crystal、Dart & Flutter、Deno、Go、Elixir、Haskell、Janet、Java、Nim、Perl、PHP、带字典的 Python、Ruby、Rust、Swift

3、兼容性

它还支持 PouchDB、CouchDB WebWorkers、Rollup 以及 React 和 Reach-Native 等库。 我们可以使用 npx nanoid 在终端中获得唯一 ID。

js如何生成

我们看下他们都是如何用js生成的

js怎么获取id,js获取id方式介绍

首先说下,之前我们是如何生成uuid的

方法一:

function guid() {    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {        var r = Math.random() * 16 | 0,
            v = c == 'x' ? r : (r & 0x3 | 0x8);        return v.toString(16);
    });
}
guid() // "a1ca0f7b-51bd-4bf3-a5d5-6a74f6adc1c7"

方法二:

var _S4 = function() {  return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1)
}// 获取广告请求唯一ID 方式是当前时间戳+13位随机吗export function GetsingleId() {  var _res = (_S4() + _S4() + '-' + _S4() + '-' + _S4() + '-' + _S4() + '-' + _S4() + _S4() + _S4())  return '_' + config.version + '_' + _res
}

方法三:

function uuid() {    var s = [];    var hexDigits = "0123456789abcdef";    for (var i = 0; i < 36; i++) {
        s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
    }
    s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
    s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
    s[8] = s[13] = s[18] = s[23] = "-";    var uuid = s.join("");    return uuid;
}
uuid() // "ffb7cefd-02cb-4853-8238-c0292cf988d5"

NanoID的方式

import { nanoid } from 'nanoid'let  idA = nanoid() //=> "V1StGXR8_Z5jdHi6B-myT"//也可以指定生成字符串的长度let  idB = nanoid(5)

主要可以通过npm包的形式安装,核心代码如下:

let urlAlphabet =  'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'let nanoid = (size = 21) => {  let id = ''
  // A compact alternative for `for (var i = 0; i < step; i++)`.
  let i = size  while (i--) {    // `| 0` is more compact and faster than `Math.floor()`.
    id += urlAlphabet[(Math.random() * 64) | 0]
  }  return id
}

本文地址:百科问答频道 https://www.neebe.cn/wenda/903220.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科问答
小编:小易整编
相关文章相关阅读
  • UI设计之Sidebar(侧边栏)设计欣赏

    UI设计之Sidebar(侧边栏)设计欣赏

    现在网页设计流行兼容手机端,一些导航或其它小元素都喜欢用侧边栏的方式展示。侧边栏就这么点大小,那么如何设计才更美观且用户体验更好呢?今天设计达人网小编为大家整理一系列设计美观的侧边栏UI设计作品,风格多样,如果你不知道怎样制作,请看看这些精...

  • apple id忘记密码后怎么使用电脑重设密码

    apple id忘记密码后怎么使用电脑重设密码

    appleid是我们在苹果手机中很重要的一个账号,有的时候我们可能会忘记appleid的密码,那么接下来小编就教大家怎样在电脑上重新设置appleid的密码。具体如下:1.首先我们打开电脑进入到桌面,找到浏览器图标点击打开。进入到浏览器界面...

  • VIDAA是什么意思?

    VIDAA是什么意思?

    Vidaa是一种全新定义的智能电视操作系统,目前市面上许多智能电视均采用Vidaa操作系统,Vidaa操作系统可以让用户成功进行电视观看,非常方便简洁。它的一大卖点是其良好的用户界面,相较于其他智能电视操作系统,Vidaa操作系统可以更加...

  • ssid是什么意思?SSID广播又是什么意思?

    ssid是什么意思?SSID广播又是什么意思?

    SSID一词相信很多朋友又陌生又熟悉,陌生在于我们日常很少会提到SSID一词,熟悉在于在路由器设置中,我们会看到有SSID设置,并且每个使用Wifi无线网络的朋友,无线中接触了SSID广播。究竟ssid是什么意思、SSID广播又是什么?下面...

  • RAID3是什么意思?

    RAID3是什么意思?

    RAID3是把数据分成多个“块”,按照一定的容错算法,存放在N+1个硬盘上,实际数据占用的有效空间为N个硬盘的空间总和,而第N+1个硬盘上存储的数据是校验容错信息,当这N+1个硬盘中的其中一个硬盘出现故障时,从其它N个硬盘中的数据也可以恢...

  • Win7对minidump文件分析详解

    Win7对minidump文件分析详解

    我们知道在Win7系统中有一个minidump文件,每当系统出现问题时,它就会收集错误信息然后放到这个地方,虽然错误信息收集了,但也要分析,不过很多人不懂得Win7对minidump文件分析详解为此小编赶紧整理了一篇Win7对minidum...

  • nvidia gtx980ti显卡价格

    nvidia gtx980ti显卡价格

    nvidiagtx980ti显卡多少钱?nvidia抢先发布了针对游戏玩家的新一代旗舰显卡:gtx980ti。那么nvidiagtx980ti显卡多少钱呢?下文介绍nvidiagtx980ti显卡价格,供大家参考!nvidiagtx...

  • Android 12是什么意思?

    Android 12是什么意思?

    Android12是Google于2021年发布的最新版Android系统,届时将作为Android11的升级版发布,其目的是帮助手机使用者,以完全新的方式与设备沟通,让体验更加流畅和便捷。Android12的新特性包括:用户界面及...

  • 周排行
  • 月排行
  • 年排行

精彩推荐