2010-06-05 56 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

相關問題