JavaScript如何维护原型引用?

JavaScript如何维护原型引用?,javascript,inheritance,prototype,prototypal-inheritance,Javascript,Inheritance,Prototype,Prototypal Inheritance,查看()的答案,我可以看到有一个继承链。幕后发生了什么 据我所知,prototype属性存储对prototype对象的引用?为什么该对象不包括原型的原型,它如何维护该引用 var Parent=function(){ this.name='Parent'; } Parent.prototype.sayHi=函数(){ console.log('hi'); } var Child=function(){ this.name=“Child”; } Child.prototype=新父级(); co

查看()的答案,我可以看到有一个继承链。幕后发生了什么

据我所知,prototype属性存储对prototype对象的引用?为什么该对象不包括原型的原型,它如何维护该引用

var Parent=function(){
this.name='Parent';
}
Parent.prototype.sayHi=函数(){
console.log('hi');
}
var Child=function(){
this.name=“Child”;
}
Child.prototype=新父级();
console.log(Parent.prototype);//{sayHi:[函数]}
console.log(Child.prototype);//{name:'父'}
console.log(Child.prototype.prototype);//未定义
为什么该对象不包括原型的原型,它如何维护该引用

因为在您的示例中,
Child
prototype
也是
Parent
的一个实例,而不是另一个构造函数。
prototype
是构造函数的属性,而不是每个实例的属性


还有另一个属性可以为每个实例执行此操作,即属性,但它几乎没有合理的用途。ES6规范也只要求在web浏览器中实现该功能,而不需要在其他JavaScript环境中实现。

这不是代码的正确输出。创建一个内联代码段。如果您设置了这样的关系,它确实“包含原型的原型”。在显示的代码中,没有子对象与父对象的绑定,因此如果他们为您连接,那将是令人惊讶的…抱歉,现在是这样。但我仍然得到相同的输出