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

时间:2016-05-17 18:34:13

标签: jquery arrays

我使用此函数生成随机字符串

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;
    }

我尝试创建一个具有两倍相同随机值的数组,如:

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

但是错误显示_id未定义。当我删除id:_id时它是有效的。为什么_id现在没有被定义,在同一范围内,decleration高于id:_id?

1 个答案:

答案 0 :(得分:2)

你不能将(game。)id初始化为(game。)_ id,首先你不要引用你刚刚创建的对象,所以它会寻找一个不存在的变量_id。 其次,对象尚未实例化,所以你不能首先引用该变量,你可以这样做:

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