<script>
var person = {
kind: 'person'
}
var zack = Object.create(person, {age: {value: 13} });
console.log(zack);
</script>
問題:爲什麼在控制檯中無法通過Object.create()看到添加的屬性?
在firebug->控制檯,它表明:對象{樣= 「人」},爲什麼我不能看到添加的屬性:年齡?
<script>
var person = {
kind: 'person'
}
var zack = Object.create(person, {age: {value: 13} });
console.log(zack);
</script>
問題:爲什麼在控制檯中無法通過Object.create()看到添加的屬性?
在firebug->控制檯,它表明:對象{樣= 「人」},爲什麼我不能看到添加的屬性:年齡?
嘗試:
var zack = Object.create(person, {age: {value: 13, enumerable:true} });
console.log(zack);
使用枚舉:真正的內部。它應該工作。
另外檢查這個線程關於enumerable屬性。 What is the enumerable argument for in Object.create?
在firebug->控制檯,它表明:對象{樣= 「人」},爲什麼我不能看到添加的屬性:年齡?
Object.create()
默認情況下不會將enumerable屬性設置爲true!由於它是錯誤的,該屬性將不會顯示出來。見property descriptors at MDN(在這種情況下是一個訪問描述符),這是一個很好的參考開始!
枚舉
真當且僅當該屬性對應的對象的屬性的枚舉期間顯示出來。 默認爲false。