这个JavaScript函数如何创建GUID?

这个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

我遇到了这个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<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。