使用Object.create(someObject)方法創建對象時,原始方法的屬性不是由創建的方法派生的。如何使它派生現有的屬性。?Object.create(someObject)函數不會繼承屬性
> a = {}
> a.p1 = '8'; // add a property to object
> b = Object.create(a);
> b // b does not inherit the property p1.
{}
重現錯誤使用節點控制檯,如下所示:
$ node
> a = {}
{}
> a.p1 = 2;
2
> b = Object.create(a);
{}
> b
{}
> a
{ p1: 2 }
>
你是不正確見雛形;對象b將繼承p1。我可以證明它是我的瀏覽器控制檯;也許你的語法不正確,當你嘗試了這一點? – 2014-09-06 20:33:17
$ node > a = {} {} > a.p1 = 2; > b = Object.create(a); {} > b {} >一個 {P1:2} > – 2014-09-06 20:34:36
奇怪了,我可以再現OP的問題。 – idmean 2014-09-06 20:35:15