Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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
jquery在数组声明中使用相同的随机变量_Jquery_Arrays - Fatal编程技术网

jquery在数组声明中使用相同的随机变量

jquery在数组声明中使用相同的随机变量,jquery,arrays,Jquery,Arrays,我用这个函数生成一个随机字符串 function makeid(size) { var text = ""; var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; for( var i=0; i < size; i++ ) text += possible.charAt(Math.floor(Math.

我用这个函数生成一个随机字符串

function makeid(size)
    {
        var text = "";
        var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

        for( var i=0; i < size; i++ )
            text += possible.charAt(Math.floor(Math.random() * possible.length));

        return text;
    }
但是,错误显示未定义_id。当我删除id:\u id时,它是有效的。为什么此时没有定义_id,偏差在id:_id以上,在同一范围内,对吗?

您不能将(游戏)id初始化为等于(游戏。)_id,首先,您没有引用刚刚创建的对象,因此它将查找不存在的变量_id。 其次,对象尚未实例化,因此首先不能引用该变量,但可以这样做:

var _id = makeid(24);
var game = {
    createdOn:new Date(),
    id : _id
}

这里的答案基本相同,有一个JSFIDLE供您使用:@johnny5是否可以访问数组decellation中的变量?@SvenB在对象实例化期间访问其变量是不可能的,据我所知。您必须在创建它之后访问它,或者必须将它存储在一个单独的变量中,如上所示。为什么它必须在工作期间发生creation@johnny5我只是尝试一些代码,我习惯于编程C++主要但我尝试一些角度。我想了解decelleration等是如何工作的。好吧,酷,如果它们与C#中的匿名类型的操作类似,那么您可以直接分配变量,但在实例化之后才能访问该对象
var _id = makeid(24);
var game = {
    createdOn:new Date(),
    id : _id
}