Weź pod uwagę poniższy kod. Pierwszy console.log
prawidłowo rejestruje obraz, a jego właściwości widać na poniższym obrazku. Jednak, gdy próbuję zalogować się do jego właściwości do konsoli, otrzymuję undefined
!Dlaczego ta właściwość obiektu jest niezdefiniowana?
console.log(that.data[0].cards); //works -- see image below
console.log(that.data[0].cards.E); //undefined
console.log(that.data[0].cards['E']); //undefined
console.log(that.data[0].cards.hasOwnProperty('E')); //false
var test = JSON.stringify(that.data[0]);
console.log(test); // {}
for(var key in that.data[0].cards) {
console.log('hello????') //doesn't appear in the console
}
console.log(Object.keys(that.data[0].cards)); //[]
console.log(that.data[0].cards.propertyIsEnumerable("E")); //false
console.log(that.data[0].cards.__lookupGetter__("E")); //undefined
Wynik w konsoli:
Każdy pomysł, co tu się dzieje? Właściwość xml
wewnątrz that.data[0]
powinna również posiadać właściwości wewnątrz niej - nazwane tak samo, jak właściwości w cards
.
FWIW, Dostaję to samo w Firebug (powyższy obraz konsoli to Chrome).
Nie mogę ci pomóc, jeśli nie możemy powtórzyć tego zachowania. Czy możesz podać JSON? –
Czy możesz przekazać wynik JSON.stringify (that)? – FreeCandies
'JSON.stringify (that)' nie wydaje się nic robić, tylko doprowadzić skrypt do całkowitego zatrzymania.Nie wyrzuca błędu ani niczego innego, ale nic nie działa po wywołaniu 'JSON.stringify (that)'. Zaktualizowałem swoje pytanie, aby pokazać wyniki 'JSON.stringify (that.data [0] .cards)', które pokazują, że jest to pusty obiekt '{}'. – maxedison