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