javascript生成guid

本文介绍在前端开发中生成全局唯一标识符(GUID)的方法及其应用场景。详细解释了何时需要在前端生成GUID,并给出了一段JavaScript代码示例。此外还解析了代码中涉及的关键JavaScript基础和技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

javascript生成guid

GUID:Globally Unique Identifer ,全局唯一标识符,GUID 广泛应用于微软的产品中,用于标识如注册表项、类及接口标识、数据库、系统目录等对象
GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个4位十六进制数

什么时候前端需要guid

接触过数据库的同学,都知道每条数据都有一个id,表与表之间关联也主要是使用id来作为主外键。
在数据库中可以设置id值int自增长或者使用 GUID来标记这条数据。

当数据不需要存入数据库,而前端交互的过程中又需要识别每条数据,确保唯一性时,便需要前端生成一个guid分配给这条数据。

javascript生成伪guid

 function guid() {
        var d = new Date().getTime();
        var guid = 'xxxx-xxxx-xxxx-xxxx'.replace(
            /[xy]/g,
            function(c) {
                var r = (d + Math.random() * 16) % 16 | 0;
                d = Math.floor(d / 16);   
                return (c == 'x' ? r : (r & 0x7 | 0x8)).toString(16);
            });
        return guid;
    };

涉及到的javascript基础有: 当前时间毫秒数,字符串替换,随机数,求余运算,向下取整运算,位运算,数字转换为16进制数字字符串

最后得到类似这样的字符串:”47d6-e2b5-d7ad-8cdc”

问题:正则里面的y字符串和(r & 0x7 | 0x8) 这样的位运算的作用是啥?


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值