1
<script>
var person = {
  kind: 'person'
}

var zack = Object.create(person, {age: {value:  13} });
console.log(zack); 
</script>

问题:

在 firebug->console 中,它显示:Object { kind="person"},为什么我看不到添加的属性:age?

4

3 回答 3

1

尝试:

var zack = Object.create(person, {age: {value:  13, enumerable:true} });
console.log(zack); 
于 2013-06-18T08:00:10.707 回答
1

在 firebug->console 中,它显示:Object { kind="person"},为什么我看不到添加的属性:age?

Object.create()默认情况下不会将 enumerable 属性设置为 true!因为它是假的,所以该属性将不会显示出来。请参阅MDN 上的属性描述符(在本例中是访问器描述符),这是一个很好的入门参考!

可枚举的

当且仅当在枚举相应对象的属性期间显示此属性时才为 true。默认为假。

于 2013-06-18T08:02:43.637 回答
0

在里面使用 enumerable: true 。它应该工作。

还要检查这个关于可枚举属性的线程。 Object.create 中的可枚举参数是什么?

于 2013-06-18T08:01:18.597 回答