JavaScript:对象无法访问从全局函数返回的多个变量
我试图通过setLoc函数设置“BB”对象的位置属性,但是当我在调试控制台中检查值时,它们显示为未定义。除此之外,控制台中没有抛出错误。我哪里出错了 我曾尝试将函数作为一种方法添加到BB中,但这会带来额外的错误 以下是两个代码块:JavaScript:对象无法访问从全局函数返回的多个变量,javascript,return,javascript-objects,Javascript,Return,Javascript Objects,我试图通过setLoc函数设置“BB”对象的位置属性,但是当我在调试控制台中检查值时,它们显示为未定义。除此之外,控制台中没有抛出错误。我哪里出错了 我曾尝试将函数作为一种方法添加到BB中,但这会带来额外的错误 以下是两个代码块: var loc = function setLoc(){ let x; let y; if(random(1,2) == 1){ x = random(-1000, 0); y = random(-1000, 0); }
var loc = function setLoc(){
let x;
let y;
if(random(1,2) == 1){
x = random(-1000, 0);
y = random(-1000, 0);
}
else{
x = random(0, 1000);
y = random(0, 1000);
}
return [x, y];
}
var bb = {
done : false,
hp : 10,
fuel : 10,
location : {
x : loc[0],
y : loc[1]
},
}
您将loc定义为一个函数。它应该是一个值-为此,请使用:
var loc=函数setLoc{…};
您必须调用loc函数;您只是使用对函数本身的引用。您从未调用loc。您只是在定义它,所以loc指的是函数,函数没有0或1属性。如果您打算调用它并将调用结果放入loc中,请在结束}后的末尾添加。你也应该在它们后面加上缺少的分号。很高兴听到这个!哦,顺便说一句,这对新用户来说可能很奇怪,但应该避免发表感谢评论。相反,只需投票或接受答案。