我正在使用名为APE(Ajax Push Engine)的Comet Push Engine,每当我收到一个实时事件时,我会在一个名为'raw'的javascript对象中收到它.
因此,如果原始对象包含'location'值,我可以打印'raw.location',它会给我值,
alert(raw.location);
Run Code Online (Sandbox Code Playgroud)
所以我有另一个名为currentSensor的对象,它包含一个这样的值(在我的例子中它将包含字符串'location'):
currentSensor.value
如何以编程方式使用currentSensor.value变量来访问"原始"对象?我试过这个:
var subsensor = currentSensor.sensorKey;
Run Code Online (Sandbox Code Playgroud)
然后
alert(raw.subsensor);
Run Code Online (Sandbox Code Playgroud)
但我一直得到未定义,因为原始对象不包含一个名为"subsensor"的键,它实际上是"位置".我希望这是有道理的!
谢谢!
使用点表示法时,使用文字属性名称.如果要使用字符串,请使用方括号表示法.
foo.bar === foo['bar'];
Run Code Online (Sandbox Code Playgroud)
字符串可以是变量.
baz = 'bar';
foo.bar === foo[baz];
Run Code Online (Sandbox Code Playgroud)