2010-06-05 46 views
2

有下面的代码语法错误:如何使用冒号在关键字名称中处理JavaScript对象?

<!DOCTYPE html> 
<html> 
    <body> 
    Hello World! 
    <script type="text/javascript"> 
     var obj = {'a:b': '1'}; 
     alert(obj.a:b); // syntax error 
    </script> 
    </body> 
</html> 

因此,如何处理JavaScript与键名冒号对象?

我必须这样做,因为我需要处理来自远程服务器的jsonp格式的提要,我无法控制,并且返回的jsonp的键名中有冒号(因为jsonp从带有标签名称空间的XML)。

回答

6

访问他们:(!包括变量)

obj['a:b']

的支架与.代名词除非他们接受字符串

所以obj.x == obj['x'],如果你有一个变量foo = 'x'然后obj[foo]也是平等的。

尽管如此,不要让语法欺骗你。它可能看起来类似于数组访问的语法,但它实际上是另一种从对象访问属性的方法。

+0

糟糕...我差点忘了这句话。在对象上很少使用下标符号。 – Ethan 2010-06-05 19:27:52

相关问题