如何写一条原型链出来,至少三个对象?

const date = new Date();

原型链是 date->Date->Object

那么自己写三个对象,实现原型链怎么实现?

阅读 2k
2 个回答
b=Object.create(a)
c=Object.create(b)

c=>b=>a

每个构造函数都会有一个原型对象(可通过prototype访问),构造函数创建的实例都包含一个指向原型对象的指针(可通过__proto__访问)。如:
function A () {
}
const c = new A();
那么它们之间的联系为 c.__proto__ == A.prototype; A.prototype.__proto__ == Object;

原型链关系为 c => A => 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;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题