<script>
var person = {
kind: 'person'
}
var zack = Object.create(person, {age: {value: 13} });
console.log(zack);
</script>
问题:
在firebug-&gt;控制台中,它显示:对象{kind =“person”},为什么我看不到添加的属性:年龄?
答案 0 :(得分:1)
尝试:
var zack = Object.create(person, {age: {value: 13, enumerable:true} });
console.log(zack);
答案 1 :(得分:1)
默认情况下,在firebug-&gt;控制台中,它显示:对象{kind =“person”},为什么我看不到添加的属性:年龄?
Object.create()
不会将enumerable属性设置为true!由于它是假的,财产将不会显示。参见property descriptors at MDN(在这种情况下是一个访问者描述符),这是一个很好的参考开始!
枚举
当且仅当在枚举相应对象的属性期间显示此属性时才显示true。 默认为false。
答案 2 :(得分:0)
使用enumerable:true里面。它应该工作。
同时检查此线程有关可枚举属性的信息。 What is the enumerable argument for in Object.create?