2016-04-21 68 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