以下命令顯示對象的屬性。Javascript對象和鍵
var keys = Object.keys(result);
輸出:[requester.client.id,request.id]
當我嘗試打印警報(導致[request.id])或警報(result.request.id)我不獲取值。有什麼我失蹤?
以下命令顯示對象的屬性。Javascript對象和鍵
var keys = Object.keys(result);
輸出:[requester.client.id,request.id]
當我嘗試打印警報(導致[request.id])或警報(result.request.id)我不獲取值。有什麼我失蹤?
在JavaScript中,對象鍵是字符串,雖然它們可以有句號。你可能得到的輸出是['requester.client.id','request.id']
,所以它應該被訪問爲result['requester.client.id']
。
您的result
對象具有名爲"requester.client.id"
和"request.id"
的屬性。
您需要做alert(result["request.id"])
。
result[request.id]
不起作用,因爲request
此處被視爲變量名稱,而且您可能沒有名爲request
的變量。
result.request.id
較爲接近,但它也將失敗,因爲屬性的名稱中有一個時期,所以解析器會將此作爲result
的request
財產的id
財產。
謝謝你這麼好的解釋。 :) –
你有沒有試過alert(result ['request.id']); –
@NickAvi什麼? 「request.id」作爲字符串? –
@ RokoC.Buljan是;據我所知,這裏的OP似乎具有名爲'requester.client.id'和'request.id'的屬性(即屬性名稱中包含句點字符)。 – apsillers