这个JavaScript函数如何创建GUID?
我遇到了这个JavaScript函数,我不太明白它在做什么,尤其是使用0xF 0xF到底是做什么的。对我来说,它看起来像一个空的小口这个JavaScript函数如何创建GUID?,javascript,guid,Javascript,Guid,我遇到了这个JavaScript函数,我不太明白它在做什么,尤其是使用0xF 0xF到底是做什么的。对我来说,它看起来像一个空的小口 function() { var g = ""; for(var i = 0; i < 32; i++) g += Math.floor(Math.random() * 0xF).toString(0xF) return g; } function() { var g=“”; 对于(变量i=0;i
function()
{
var g = "";
for(var i = 0; i < 32; i++)
g += Math.floor(Math.random() * 0xF).toString(0xF)
return g;
}
function()
{
var g=“”;
对于(变量i=0;i<32;i++)
g+=Math.floor(Math.random()*0xF).toString(0xF)
返回g;
}
0xF是十六进制符号
编辑:
它看起来像是在挑选一个随机字符0-9 a-F 32次
0xF
==15。它是简单的十六进制表示法
然而,该代码段实际上并没有创建GUID,它只是将一组随机整数串在一起。无法在JavaScript中创建GUID,因为生成GUID需要VM无法访问的参数(网络地址等)
另请参见我对这个问题的回答:它所做的只是创建随机数s并将其转换为十六进制
我只是做了一点调查。它取一个随机数,乘以15(0xF==15),然后将其转换为十六进制。toString参数采用基数。这与说0xF.toString(10)相同。这将0xF转换为十进制并返回“15”。我知道它是十六进制的,但我不知道它是根据ASCII标准转换的。我以为这是0xFF的缩写。ASCII与此无关。0xF是15,0xFF是255,0xFFF是4095。与十进制数字一样,十六进制中未定义的数字默认为0。