JavaScript :Multiple variables returned from a global function isn't able to be accessed by object

标签 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);
    }
      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 定义为函数。它应该是一个值 - 为此,请使用 IIFE相反:

var loc = (function setLoc() { ... })();

关于JavaScript :Multiple variables returned from a global function isn't able to be accessed by object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55576528/

相关文章:

javascript - 如何在 JavaScript 中读取 'this' 是什么类型的存储?

javascript - 为什么重新分配后不再反射(reflect)对象的更改?

javascript - 多个 JavaScript 倒计时日期?

javascript - 做点什么并继续上课

c - 具有多个参数的返回语句

java - 如何在 Java 中返回一个临时的 int 数组

javascript - 将 javascript 对象简化为唯一标识符

javascript - 离开页面时提示用户

javascript - 如何在断开连接或浏览器关闭后注销用户?

iphone - 未填充自动释放的 NSMutableArray