Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.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 如何在每次加载页面时创建唯一id?_Javascript_Random_Unique - Fatal编程技术网

Javascript 如何在每次加载页面时创建唯一id?

Javascript 如何在每次加载页面时创建唯一id?,javascript,random,unique,Javascript,Random,Unique,每次加载页面时,我都需要创建任意长度的随机唯一字符串,这样我就可以用它来标记周围的内容,以防止覆盖现有对象属性?我想代码应该是这样的: var uid = generate_uid(); 泰。//我想我明白了 // 函数生成uid(前缀){ 变量 tmp1=“”, tmp2=“”, locase=“abcdefghijklmnopqrstuvxyz”, tf=函数(){return Math.random()>.5;}, R L 对于(变量i=0,len=locase.length;i

每次加载页面时,我都需要创建任意长度的随机唯一字符串,这样我就可以用它来标记周围的内容,以防止覆盖现有对象属性?我想代码应该是这样的:

var
   uid = generate_uid();
泰。

//我想我明白了
//
函数生成uid(前缀){
变量
tmp1=“”,
tmp2=“”,
locase=“abcdefghijklmnopqrstuvxyz”,
tf=函数(){return Math.random()>.5;},
R
L
对于(变量i=0,len=locase.length;i
您确定使用了正确的标签吗?在什么范围内唯一?参加会议?浏览器?所有浏览器?复制一个简单的随机数,存储为字符串怎么样?为什么,什么是更好的选择?
//  I think I got it
//
function generate_uid( prefix ) {
    var
        tmp1   = "",
        tmp2   = "",
        locase = "abcdefghijklmnopqrstuvwxyz",
        tf     = function () { return Math.random() > .5; },
        r,
        l;

    for (var i = 0, len = locase.length; i < len; i++) {
        tmp1 += ( ( tf() ) ? locase[i].toUpperCase() : locase[i] );
    }
    l = ( tmp1 += String( Date.now ? Date.now() : ( new Date() ).getTime() ) ).length;
    for (
        ; l
        ; (
            r      = Math.floor( Math.random() * ( l-- ) ),
            tmp2  += tmp1.charAt( r ),
            tmp1   = tmp1.substring( 0, r ) + tmp1.substr( r + 1 )
        )
    );
    return prefix ? String( prefix ) + tmp2 : tmp2;
}
console.log( generate_uid("fnid_") );
//
//  fnid_2JGZCMWSyrQaNhD10k83p91LTF073X6oiv9Be5u
//