以下のコードを検討してください。1 つ目console.log
はイメージを正しくログに記録し、下のイメージでそのプロパティを確認できます。ただし、そのプロパティをコンソールに記録しようとすると、undefined
!
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
コンソールの結果:
ここで何が起こっているのか分かりますか?のxml
プロパティには、その内部にthat.data[0]
もプロパティが必要です。実際には、 のプロパティと同じ名前が付けられますcards
。
FWIW、Firebug でも同じことがわかります (上記のコンソール イメージは Chrome です)。