JavaScript:对象无法访问从全局函数返回的多个变量

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

我试图通过setLoc函数设置“BB”对象的位置属性,但是当我在调试控制台中检查值时,它们显示为未定义。除此之外,控制台中没有抛出错误。我哪里出错了

我曾尝试将函数作为一种方法添加到BB中,但这会带来额外的错误

以下是两个代码块:

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中,请在结束}后的末尾添加。你也应该在它们后面加上缺少的分号。很高兴听到这个!哦,顺便说一句,这对新用户来说可能很奇怪,但应该避免发表感谢评论。相反,只需投票或接受答案。