2012-11-20 50 views
-1

我有一个Object obj,它有一个值为123的属性“value”。当我看到firefox打印出其所有字段的对象时。无法访问JavaScript中的对象的属性 - 我做错了什么?

当我尝试打印“值”属性的值时,我得到未定义。

我想:

console.log(obj.value); 

console.log(obj[value]); 

我在做什么错?

+1

'的console.log(obj.value);'应该工作(另一种不会)。你是否正在做一些Ajax的东西,并在它填充之前记录对象(成功处理程序被调用,请参阅[我的博客文章](http://felix-kling.de/blog/2011/08/18/inspecting - 变量在JavaScript的控制台/)我指的问题)? –

+2

'console.log(obj中的“value”);''会告诉你,如果你的对象真的有这个名字的属性。 –

+2

请显示对象定义。如果有一个叫做价值的属性,第一个检查看起来是正确的。第二个应该是obj ['value']。 –

回答

1

如果你的对象已经得到了价值,看起来像这样:

obj={value:"Object Value"}; 

然后obj.valueobj['value']是有效的。

console.log (obj.value); //Output will be 'Object Value' 
console.log (obj['value']); //Again output will be same 'Object Value'​​​​​​​​​​​​​​​​​​​​ 

在JavaScript中,您可以使用方括号和点符号几乎可以互换。

More information on dot vs square bracket notations

+0

发生的情况是,在打印该值之前,呼叫没有足够的时间返回。 – antonpug