在继承时,我有点头衔混乱。我知道使用object.create
我们会做这样的继承示例
function abc() {
this.a =[1,2,3]
}
abc.prototype.getN =function () {
return this.a.push(4)
}
function pqr() {
this.a = [4,5]
}
pqr.prototype = Object.create(abc.prototype);
var p = new pqr();
var a = new abc()
console.log(p.getN());
console.log(p.a)
console.log(a.a)
从上面的代码中,我将父母的所有原型属性带给孩子。
困惑 为什么我不这样直接使用
pqr.prototype = abc.prototype; ???
这有什么缺点?由此,我们还可以将所有原型值分配给child。
第二,我也尝试过
pqr.prototype = new abc;
不调用abc
,我只是将所有abc分配给pqr。我能这样做吗?
以上两种方法有什么问题