所以我想知道是否/如何在对象中使用一个值作为函数ex中的arg:
var mousePos = {
chaos: (-950, 22)
}
console.log(mousePos.chaos) // chaos
mouse.Move(mousePos.chaos) // which would take two args, and then output Invalid number of arguments.
答案 0 :(得分:3)
是的,如果您使用数组并Function.prototype.apply
var mousePos = {
chaos: [-950, 22]
}
mouse.Move.apply(mouse, mousePos.chaos)
如果您喜欢并使用Node或Babel,您还可以使用扩展语法:
mose.Move(...mousePos.chaos)
答案 1 :(得分:2)
我认为你正在寻找一个阵列和spread syntax:
var mousePos = {
chaos: [-950, 22]
};
console.log(mousePos.chaos) // [-950, 22]
mouse.move(...mousePos.chaos) // equivalent to `mouse.move(-950, 22)`
答案 2 :(得分:2)
您正在寻找具有两个值(x,y)的单个对象,用于鼠标位置。 所以像键/值基数组一样管理你的对象。
var mousePos = { chaos: {x : -950, y:22} };
mouse.move(mousePos.chaos.x,mousePos.chaos.y) // equivalent to
mouse.move(-950,22)