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值,会有重复。想想不奇怪,它只精确到毫秒而已。