Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript在IE中生成短guid-toString()奇怪行为_Javascript_Internet Explorer_Browser_Tostring - Fatal编程技术网

Javascript在IE中生成短guid-toString()奇怪行为

Javascript在IE中生成短guid-toString()奇怪行为,javascript,internet-explorer,browser,tostring,Javascript,Internet Explorer,Browser,Tostring,我正在转换一个guid,然后用parseInt()在base 16中转换它,然后显示它以生成一个短guid 它在Chrome和FireFox中运行良好,但在IE中却不行 代码如下: var guid32 = function () { "use strict"; return "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g, function (c) { var r = Math.random() * 16 |

我正在转换一个guid,然后用parseInt()在base 16中转换它,然后显示它以生成一个短guid

它在Chrome和FireFox中运行良好,但在IE中却不行

代码如下:

var guid32 = function () {
    "use strict";
    return "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g, function (c) {
        var r = Math.random() * 16 | 0, v = c === "x" ? r : (r & 0x3 | 0x8);
        return v.toString(16);
    });
};

var shortGuid = function () {
    "use strict";
    return parseInt(guid32(),16).toString(36);
};


for(var i =0; i < 100; i++)
{
    $("#guids").append("<p>"+ shortGuid() +"</p>")
}
var guid32=函数(){
“严格使用”;
返回“XXXXXXXXXX 4XXXXXXXXXXXXXXXXXXXXX”。替换(/[xy]/g,函数(c){
var r=Math.random()*16 | 0,v=c==“x”?r:(r&0x3 | 0x8);
返回v.toString(16);
});
};
var shortGuid=函数(){
“严格使用”;
返回parseInt(guid32(),16).toString(36);
};
对于(变量i=0;i<100;i++)
{
$(“#guids”).append(“”+shortGuid()+”

”) }
下面是实现

下面是要测试的小提琴:

为什么IE中的问题不同?我如何解决

我猜IE中toString()的实现与Chrome和FireFox不同

如何保持生成的guid不包含科学符号

------------------------------------编辑--------------------


另一个给出的答案不能帮助我解决这个问题。我已经在使用toString(36),所以这不是我问题的好答案。此外,它并没有解释为什么它只发生在IE中,而不发生在其他浏览器中。

1)“不工作”是什么意思?;2) 在不了解GUID细节的情况下,我个人怀疑您生成的东西是否是“GUID”。您只需使用Javascript Math.random函数。这些数字如何保证或至少“很可能”是“全球唯一的”?1)你在3个浏览器中运行过小提琴吗?它没有像chrome和firefox那样给出预期的结果2)我生成了100万个短guid,而且它没有冲突,所以它足够满足我的需要…这将回答你的问题:是的,但这正是我正在做的,我正在使用toString(36)。它不仅在IE中起作用。复制到