我试图通过 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/