Javascript получить аргументы функции от объекта?

1

Поэтому мне интересно, могу ли я использовать значение в объекте как arg в функции ex:

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.
  • 2
    Ваша собственность "хаоса" будет иметь значение 22 , а -950 будет потеряно.
  • 2
    JS не имеет кортежей, поэтому вам нужно использовать массив [-950, 22]
Теги:

3 ответа

2
Лучший ответ

Я думаю, что вы ищете массив и распространяете синтаксис:

var mousePos = {
    chaos: [-950, 22]
};
console.log(mousePos.chaos) // [-950, 22]

mouse.move(...mousePos.chaos) // equivalent to 'mouse.move(-950, 22)'
3

Да, если вы используете массив и Function.prototype.apply

var mousePos = {
  chaos: [-950, 22]
}

mouse.Move.apply(mouse, mousePos.chaos)

Если вы любите и используете Node или Babel, вы также можете использовать синтаксис распространения:

mose.Move(...mousePos.chaos)
2

Вы ищете один объект с двумя значениями (x, y) для позиции мыши. поэтому управляйте своим объектом подобно массиву base/value base.

var mousePos = { chaos: {x : -950, y:22} };
mouse.move(mousePos.chaos.x,mousePos.chaos.y) // equivalent to 
mouse.move(-950,22)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню