我在这里找到问题:
Create GUID / UUID in JavaScript?
答案提供了以下JS:
function S4() {
return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
}
function guid() {
return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());
}
现在,这对我来说似乎有些愚蠢.为什么要这么重复?我计划使用此名称来命名要上传到服务器的文件,以使它们不会彼此覆盖.看起来它不会总是生成一个唯一的数字.
与仅命名文件math.random()相比,上述代码有什么好处.它甚至不会改变种子.
抱歉,我从来没有使用过GUID / UUID,并且某些代码对我来说真的没有任何意义…
澄清说明
很多人没有像我问的那样回答这个问题.很多人在解释GUID并不总是唯一的,等等等等.那不是我要的我在问,仅在math.random()上使用它有什么意义?
乔在评论中似乎为我提供了最佳答案.
解决方法:
甚至那个答案都说:“您想要实际的GUID,还是只是看起来像GUID的随机数?”因为这些不是真正的GUID.同样来自原始线程:“无法用Javascript生成真实的GUID,因为它们取决于浏览器未公开的本地计算机的属性.”所以我的问题是:您需要GUID吗?还是只是一个随机文件名? GUID作为消费者并没有什么神奇之处,它不是它的外观,而是它的生成方式.对于随机文件名,使用时钟刻度,随机数将(至少与)有效.
就您而言,没有理由.但是,如果您的JS代码正在与需要GUID或某种形式的内容进行对话,则您将需要传递类似格式的内容,因为您无法在纯JS中生成真实内容.