2010-06-03 7 views
3

Donc, j'essaie d'accéder au contenu d'un objet et pour la vie de moi ne peux pas comprendre pourquoi je ne peux pas. Je commence à croire que l'objet n'a pas les propriétés que Firebug indique. Plus probable que cela, je n'utilise pas la bonne syntaxe pour y accéder.Une propriété JavaScript JavaScript inaccessible - Pourquoi Firebug l'affiche-t-elle?

Donnez la fonction suivante:

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

qui génère pour Affirmation 2. la sortie Firebug suivante pour déclaration 1

image

et undefined (Note: À l'origine indiqué à tort que je voyais unknown)

Y at-il quelque chose d'évident que je suis o verlooking de la façon dont je tente de faire référence à la valeur de t_nodecontent? Je suis à une perte :(

+0

Où avez-vous obtenu ceci? – kennytm

Répondre

2

unknown signifie que son hôte d'un objet, comme celles fournies par ActiveXObject dans IE

S'il y avait eu. pas ces biens, vous auriez vu undefined

vous accédez à la propriété, il est juste a un type non défini par ECMAScript.

+1

ActiveX? Dans Firefox? – kennytm

+0

Semble un cas bizarre ... J'ai seulement vu '" unknown "' comme le résultat de l'opérateur 'typeof' dans certaines propriétés des objets hôte que vous mentionnez, mais seulement sur ** IE **, semble que l'OP est en utilisant Firefox, et il essaie juste d'accéder à la propriété ... inhabituel ... – CMS

+0

@Kenny, hehe, duh! :) –

1

Essayez et écrire la sortie:

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

Le problème, vous le trouverez, est que userData est réellement [userData]! Essayez d'accéder à userData [0]. J'ai été pris comme ça avant (plus récemment aujourd'hui avec une propriété object d'un objet Dojo.Data) ... si l'objet est passé dans un tableau, Firebug affiche le premier élément du tableau, plutôt que le tableau lui-même .

Questions connexes