Javascript js中更好的创建 guid 方法

阅读(2876)

在很久以前,我们都是利用 new Date() 方式来创建一个唯一 ID,可能的代码如下:

var myID = "static" + new Date().getTime();

但随着新的浏览器,新的 Javascript 引擎,伴随着一直在提升的性能。现在上面的代码产生相同的毫秒数的可能性会比较大。
群众的智慧是无可估量的,伟大的程序员又换了种写法,使创建唯一 ID 的方法更加健壮,那就是,利用随机数,如下代码:

var myID = "static" + Math.round(Math.random() * 10000);

虽然严谨一点来说,计算机的随机数其实并不是真正随机的,因为它还是来源于系统时间,这一点值得注意一下,但是随机数冲突的可能性是微乎其微的,所以,现在大部分产生唯一 ID 的方法都是利用随机数。

这已经很好了,但是,还有更好的,请看:

function S4() {
   return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
}
function guid() {
   return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());
}
var myID = "static" + guid();

反正我看不懂,但我觉得很牛逼,献给你们。不客气。

Tags: