前端开发

 首页 > 前端开发 > javascript > js生成唯一id,js生成uuid最新评论添加评论

js生成唯一id,js生成uuid最新评论添加评论

分享到:
【字体:
导读:
         [导读] js生成前端唯一id,比如uuid 简单的生成: 虽然此方法简单但是大批量生成会有重复...,但是性能好。 functionguid(){returnNumber(Math.random().toString().substr(3,3)+Date.now()).toString(36);} 复杂的生成:...

js生成前端唯一id,比如uuid

简单的生成:

虽然此方法简单但是大批量生成会有重复...,但是性能好。

function guid() {
      return Number(Math.random().toString().substr(3, 3) + Date.now()).toString(36);
}

复杂的生成:

可以利用时间戳,目前亲测同时10W条没有重复。

function formatDateTime() {
    var date = new Date();
    var y = date.getFullYear();
    var m = date.getMonth() + 1;
    m = m < 10 ? ('0' + m) : m;
    var d = date.getDate();
    d = d < 10 ? ('0' + d) : d;
    var h = date.getHours();
    var minute = date.getMinutes();
    var second = date.getSeconds();
    return y + '' + m + '' + d + '' + h + '' + minute + '' + second;
}

let arr = []; 
for(i = 0; i< 1000; i++) { 
	var guids = formatDateTime() + Math.random().toString(36).substr(2);
	if (arr.indexOf(guids) > -1){ 
		console.log(guids, arr.indexOf(guids))
	}; 
	arr.push(guids); 
};

模拟UUID生成方式:

目前亲测同时10W条没有重复

function generateUUID() {
    var d = new Date().getTime();
    if (window.performance && typeof window.performance.now === "function") {
        d += performance.now(); //use high-precision timer if available
    }
    var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
        var r = (d + Math.random() * 16) % 16 | 0;
        d = Math.floor(d / 16);
        return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);
    });
    return uuid;
}

let arr = []; 
for(i = 0; i< 1000; i++) { 
	var guids = formatDateTime() + Math.random().toString(36).substr(2);
	if (arr.indexOf(guids) > -1){ 
		console.log(guids, arr.indexOf(guids))
	}; 
	arr.push(guids); 
};


分享到:
js事件大全最新评论添加评论
一般事件 事件 浏览器支持 描述  onClick IE3|N2|O3 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击  onDblClick IE4|N4|O 鼠标双击事件  onMouseDown IE4|N4|O 鼠标上的按钮被按下了  onMouseUp IE4|N4|O 鼠标按下后,松开时激发的事件  onMouseOver IE3|N2|O3 当鼠标移动到某对象范围的上方时触发的事件  onM...
javascript操作DOM之性能优化最新评论添...
javascript操作DOM之性能优化 什么是DOM?  用于操作XML和HTML文档的应用程序 Dom节点  2. Dom树   3.Dom API   DOM优化 浏览器会把js和dom独立实现,js每次操作dom,都会增加一次耗时,为了提高dom性能,就要尽可能减少js对dom的操作,         以下是两个测试         window.onload=function(){ ...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……