---恢復內容開始---
在做項目的時候出現這樣的一種情況,需要動態生成唯一的uuid,剛開始我的思路是這樣的,我可以根據時間來做,然后出現了下面的思路:
var uuid = "cms"+mydate.getDay()+ mydate.getHours()+ mydate.getMinutes()+mydate.getSeconds()+mydate.getMilliseconds();//根據時間來自動生成uuid,保證生成的id是唯一的
然后呢,我用for循環,發現生成的uuid是一致的,如下圖所示:
也就是說生成的id是一樣的,這樣明顯不符合我的要求,然后就搜索更好的生成uuid的方法,然后有了兩種
1,在我上面的方法的基礎上加上一個隨機數,這樣可以生成uuid,即,在原來的基礎上加上隨機數
var uuid = "cms"+mydate.getDay()+ mydate.getHours()+ mydate.getMinutes()+mydate.getSeconds()+mydate.getMilliseconds()+ Math.round(Math.random() * 10000);
生成的結果如下:沒有沖突
但是呢,最好的方法是自己生成uuid,可以用下面的額方法
方法2,
//用於生成uuid function S4() { return (((1+Math.random())*0x10000)|0).toString(16).substring(1); } function guid() { return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4()); }
具體的調用方法:
var uuid = "cms"+guid();
調用的結果如下: