Javascript从对象获取函数参数?

时间:2017-11-07 04:38:47

标签: javascript

所以我想知道是否/如何在对象中使用一个值作为函数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.

3 个答案:

答案 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)