在下面的函数中,我想传递两个参数。 instance
表示对象,prop
表示对象属性名称。
door.x = 20; // door['x'] refers to the same
key(door, 'x');
function key(instance, prop) {
Tween.get(instance, {override: true}).to({prop: -150}, instance[prop]);
}
因为我需要能够在某一时刻引用door['x']
(这是写door.x
的另一种方式),x
总是需要是一个字符串。但是,这里需要使用相同的x
作为对象属性名称,但我不能在那里使用字符串,因为代码不起作用:
Tween.get(door, {override: true}).to({'x': -150}, door['x']); // does not work because a string has been passed as an object property name
我真正想要的是:
Tween.get(door, {override: true}).to({x: -150}, door['x']); // works
所以,我的问题是:是否有某种方法允许我“解串”一个字符串?或者可能还有其他任何解决方案吗?
答案 0 :(得分:3)
这样的东西?
function key(instance, prop) {
var obj = {};
obj[prop] = -150;
Tween.get(instance, {override: true}).to(obj, instance[prop]);
}