我正在使用一个名为 APE(Ajax 推送引擎)的 Comet 推送引擎,每当我收到一个实时事件时,我都会在一个名为“raw”的 javascript 对象中接收它。
因此,例如,如果原始对象包含“位置”值,我可以打印“raw.location”,它会给我值,
alert(raw.location);
所以我有另一个名为 currentSensor 的对象,它包含一个像这样的值(在我的示例中它将包含字符串“location”):
currentSensor.value
如何以编程方式使用 currentSensor.value 变量来访问“原始”对象?我试过这个:
var subsensor = currentSensor.sensorKey;
然后
alert(raw.subsensor);
但我一直没有定义,因为原始对象不包含一个名为“subsensor”的键,它实际上是“location”。我希望这是有道理的!
谢谢!
最佳答案
使用点表示法时,您使用文字属性名称。如果要使用字符串,请使用方括号表示法。
foo.bar === foo['bar'];
字符串可以是变量。
baz = 'bar';
foo.bar === foo[baz];
关于Javascript 对象访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4540741/