2016-04-21 80 views
2

好吧,所以這可能是一個超級愚蠢的問題,但我正在對js中的對象進行一些審查,並且我看到了w3學校的示例,並且我嘗試了自己的做法。沒有工作,只是打印undefined。複製了W3學校,它確實有效。改變了名字,但沒有。我問了我的一位優秀的編碼員朋友,他也弄不清楚。下面是我想要的代碼:破碎的對象陳述

var car = {type:"Fiat", model:"500", color:"white"}; 
var name = {first:"Owen", last:"Donnelly"}; 

當我做car.type它打印菲亞特但是當我鍵入name.first它說不確定。

+3

什麼打印undefined?你有沒有console.log(汽車,名字)? – SteveLacy

+2

這只是聲明兩個對象。有什麼問題?請發佈導致您問題的代碼,明確突出顯示錯誤以及發生的位置。 – ManoDestra

+0

這可能是[Chrome/Firefox console.log總是附加一行說undefined](http://stackoverflow.com/q/14633968/1048572)的副本? – Bergi

回答

2

「name」是JavaScript中的保留關鍵字,因此您不能將其用作變量標識符。相反,你可以像這樣使用它如下:

var Name = {first:"Owen", last:"Donnelly"}; 
+2

不正確。 'name'是一個*全局變量*,它是爲瀏覽器中的窗口保留的,但它不是保留關鍵字。 –

+0

@Mike - 感謝您糾正我。 –

+0

對於該對象的第一個字母,最好使用小寫字母。最好還有一個更有意義的名字,比如customerName等。http://javascript.crockford.com/code.html – ManoDestra