javascript下,有时出于需要,可以利用guid或UTC时间作为当前页面中的唯一值。
什么场景需要弄这个唯一值?
比如说,用easyUI的treegrid,添加新节点。在treegrid里面 ,节点要对应唯一的主键,比如ID。那么新建节点的时候,通常只是在界面操作,然后再批量提交到后台,保存到数据库。这样在界面操作的时候,新建节点的唯一ID怎么来呢?我想到的一个思路就是,利用guid或者UTC时间临时作为ID值,等到后台处理时,再忽略或者做别的处理。
没代码没J8:
- 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);
- });
- }
- function getUtc() {
- var d = new Date();
- return Date.UTC(d.getFullYear()
- , d.getMonth()
- , d.getDate()
- , d.getHours()
- , d.getMinutes()
- , d.getSeconds()
- , d.getMilliseconds());
- }
=================================
在循环语句中产生UTC值,会有重复。想想不奇怪,它只精确到毫秒而已。
========================================
凭utc值构造Date
let d = new Date(UTC值);