像
const date = new Date();
原型链是 date->Date->Object
那么自己写三个对象,实现原型链怎么实现?
每个构造函数都会有一个原型对象(可通过prototype访问),构造函数创建的实例都包含一个指向原型对象的指针(可通过__proto__访问)。如:
function A () {
}
const c = new A();
那么它们之间的联系为 c.__proto__ == A.prototype; A.prototype.__proto__ == Object;
所以想要自己构造三个对象以上的原型链可以这样去实现:
function A() {
this.a = XXX; //可在构造函数内添加对象属性和方法,下同
};
function B() {
this.b = XXX;
};
function C() {
this.c = XXX;
}
B.protoType = new A();
C.protoType = new B();
const d = new C();
它们之间的联系为:
d.__proto__ = C.prototype; C.prototype.__proto__ == B.prototype; B.prototype.__proto__ = A.prototype; A.prototype.__proto__ = Object;
原型链关系为:d => C => B => A => Object;
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
6 回答1.1k 阅读
c=>b=>a