我是javascript的新手并拥有以下代码:
<html>
<body>
<object classid="clsid:f6D90f11-9c73-11d3-b32e-00C04f990bb4" id="abc">
</object>
<script>
var b=document.getElementById("abc");
for (a in b){
document.write(a+"<br>");
}
alert(b.object);
</script>
</body>
</html>
现在,我的问题是为什么这段代码不会枚举对象b的所有属性。 更具体地说,此代码不会枚举“object”属性。但是代码警报(b.object)告诉我这是一个对象。
我做得对吗?有人可以澄清我的怀疑。
由于
答案 0 :(得分:2)
要枚举对象的所有属性(自己的或继承的,可枚举的或不可枚举的),请执行以下操作:
do {
Object.getOwnPropertyNames( obj ).forEach(function ( prop ) {
// process prop
});
} while ( obj = Object.getPrototypeOf( obj ) );