假設我有一個具有手動設置的原型屬性的對象。這是將一個對象原型複製到另一個對象的安全方法嗎?
一個例子是
function A() {
};
A.prototype.B = function() {
};
A.prototype.C = function() {
};
A.prototype.D = function() {
};
如何延長與A
的原型另一個對象?
我試過的是這個;
// obj = extend to object
// obj2 inherit from object
for (var prop in obj2.prototype) {
if (obj2.prototype.hasOwnProperty(prop)) {
obj.prototype[prop] = obj2.prototype[prop];
}
}
是否使用obj2.hasOwnProperty(prop)
確保只有上A
的原型的屬性,我將會被複制?
有沒有更好的方法來做到這一點?
什麼是obj2的?和A一樣嗎? – sh0ber
是的,obj2將在示例 – user2251919
這應該按預期工作,您正確使用hasOwnProperty。如果你的目標只是從一個對象的原型到另一個對象的淺拷貝,那麼沒有更好的方法。 – sh0ber