我使用此函数生成随机字符串
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?
答案 0 :(得分:2)
你不能将(game。)id初始化为(game。)_ id,首先你不要引用你刚刚创建的对象,所以它会寻找一个不存在的变量_id。 其次,对象尚未实例化,所以你不能首先引用该变量,你可以这样做:
var _id = makeid(24);
var game = {
createdOn:new Date(),
id : _id
}