一个无法访问的JavaScript对象属性 - 为什么Firebug会显示这个?

时间:2010-06-03 18:02:37

标签: javascript firebug

所以,我试图访问一个对象的内容,因为我的生活无法弄清楚为什么我不能。我开始相信该对象没有Firebug指示它的属性。更可能的是,我只是没有使用正确的语法来访问它们。

提供以下功能:

function(userData) {
    console.log(userData);   // statement 1
    console.log(userData.t_nodecontent); // statement 2
}

为语句1生成以下FireBug输出

image

语句2的

undefined。(注意:最初错误地表明我看到了unknown

在我试图引用t_nodecontent的价值的方式中,是否有一些显而易见的东西?我不知所措:(

3 个答案:

答案 0 :(得分:2)

unknown表示它是一个主机对象,就像IE中ActiveXObject提供的那样。

如果没有这样的财产,你会看到undefined

因此,您正在访问其属性,它只是一个ECMAScript未定义的类型。

答案 1 :(得分:1)

试试这个并写出输出:

for(var key in userData){
   console.log(key, userData[key]);
}

答案 2 :(得分:1)

问题,你会发现,userData实际上是[userData]!尝试访问userData [0]。 我之前遇到过这种情况(最近今天有一个Dojo.Data项的对象属性)...如果对象是在数组中传递的,Firebug会显示数组的第一个元素,而不是数组本身。