我就需要繼承如下功能工作:在原型繼承覆蓋陣列
function parent() {}
parent.prototype.someProperty = ['common'];
var child1 = new parent();
我要重寫的一些屬性。如果這是一種原始數據類型,那很容易,但someProperty
是一個數組。 這裏child1在someProperty
中有一些其他值,如['common', 'common2', 'common3']
。
現在,這是一個數組,因此如果我推送像child1.someProperty.push('common2');
這樣的元素,它們最終也會在parent
中引用。
達到此目的的最佳方法是什麼?我想到的
-
東西陣列從原型複製,然後將其連接到
child1
。問題在於,我將不得不遍歷整個數組然後複製它。我想知道是否有更優雅的解決方案。 - 有類似
function parent() { someProperty = ['common'];}
。這將給所有的孩子someProperty
,所以任何價值可以很容易地推入它,而不會打擾其他孩子的對象。
我傾向於第二種方法,但我只是想確定是否有更好的方法。
第二個選項通常是應該如何完成的。如果您希望它在對象的所有實例之間共享,則只應將其直接附加到原型。 –
感謝您的確認! –