2015-06-17 156 views
0

以下命令顯示對象的屬性。Javascript對象和鍵

var keys = Object.keys(result); 

輸出:[requester.client.id,request.id]

當我嘗試打印警報(導致[request.id])或警報(result.request.id)我不獲取值。有什麼我失蹤?

+0

你有沒有試過alert(result ['request.id']); –

+0

@NickAvi什麼? 「request.id」作爲字符串? –

+0

@ RokoC.Buljan是;據我所知,這裏的OP似乎具有名爲'requester.client.id'和'request.id'的屬性(即屬性名稱中包含句點字符)。 – apsillers

回答

2

在JavaScript中,對象鍵是字符串,雖然它們可以有句號。你可能得到的輸出是['requester.client.id','request.id'],所以它應該被訪問爲result['requester.client.id']

0

您的result對象具有名爲"requester.client.id""request.id"的屬性。

您需要做alert(result["request.id"])

result[request.id]不起作用,因爲request此處被視爲變量名稱,而且您可能沒有名爲request的變量。

result.request.id較爲接近,但它也將失敗,因爲屬性的名稱中有一個時期,所以解析器會將此作爲resultrequest財產的id財產。

+0

謝謝你這麼好的解釋。 :) –