JS生成id的方法(多种解决方案)_js生成唯一id,2024年最新2024年最新前端面试精讲
// 解法1: 使用UUID生成唯一ID
function generateUUID() {
var d = new Date().getTime(); //Timestamp
var d2 = (performance && performance.now && (performance.now()*1000)) || 0; //Time in microseconds since page-load or 0 if unsupported
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random() * 16; //random number between 0 and 16
if(d > 0) { //Use timestamp until depleted
r = (d + r)%16 | 0;
d = Math.floor(d/16);
} else { //Use microseconds since page-load if supported
r = (d2 + r)%16 | 0;
d2 = Math.floor(d2/16);
}
return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
});
}
// 使用
var uniqueId = generateUUID();
console.log(uniqueId);
这段代码使用了一个简化版本的UUID生成方法,它基于当前的时间戳和性能数据生成一个看似随机的字符串,可以用作生成唯一ID。这种方法的优点是不需要外部依赖,但在某些特定环境下可能存在重复的风险。
评论已关闭