考虑下面的代码。第一个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)。