原型继承javascript失败

原型继承javascript失败,javascript,Javascript,我将两个对象定义为以下部门和脚注 由于两个对象共享相同的getData方法 我想通过以下方式继承部门的getData方法: Footnote.prototype.getData = Department.prototype.getData; 然后,当我创建脚注对象并调用getData方法时 var footnote = new Footnote(); 出现错误:未捕获类型错误:footnote.getData不是函数 有人知道为什么以及如何将Department的getData方法扩展到

我将两个对象定义为以下部门和脚注

由于两个对象共享相同的
getData方法
我想通过以下方式继承部门的
getData
方法:

Footnote.prototype.getData = Department.prototype.getData;
然后,当我创建脚注对象并调用getData方法时

var footnote = new Footnote();
出现错误:未捕获类型错误:footnote.getData不是函数


有人知道为什么以及如何将Department的getData方法扩展到脚注吗?在当前代码中,
getData
方法被添加到Department构造函数中的Department实例中:

this.getData = function(){ /* ... */ }
您试图在代码后面使用
Department.prototype.getData
。但这不是一个函数,因为您尚未分配它。要使其工作,您需要像这样分配getData方法:

Department.prototype.getData = function(){ /* ... */ }

这会将该方法添加到所有部门实例中,并将其分配到脚注原型中。

您忘记添加对象定义。@Teemu,我已将对象定义包含为图像。请不要将代码添加为图像,只需复制粘贴它,并将其格式化为代码(选择代码并单击
{}
编辑器上的图标)。导致错误的是,
getData
是所创建实例的自有属性,它不在
Department
函数的原型中,而是在函数体中定义的。您必须将该方法从
Department
函数中拉出,然后执行
Department.prototype=function getData(){…},然后您可以按尝试将其分配给Footnote.prototype。