如何实现B继承A

法一:

B.prototype = new A();
B.prototype.constructor = B;

相当于

B: { prototype: { constructor: B }, __proto__: { __proto__: A.prototype: { __proto__: ... } } }

法二:

B.prototype = Object.create(A.prototype);

Object.create(o)相当于内部创建一个新的函数,然后将这个函数的prototype置为o,然后返回由这个函数创建的实例
那么整个过程相当于

function F() {}
F.prototype = A.prototype;
B.prototype = new F();
B: { prototype: { constructor: B }, __proto__: { __proto__: F.prototype[A.prototype] : { __proto__: ... } } } 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。