首页 > 解决方案 > 修改父prototype.init()函数

问题描述

我很好奇是否可以修改类prototype.init() 函数,因为我想扩展一个库,为此我必须在类的初始化中添加一些新变量。

我已经完成了这样的原型继承:

function Extension() {}; Extension.prototype = Toolbar.prototype; Extension.prototype.constructor = Extension;

现在我想用我的扩展中的一些额外变量来初始化 Parent.prototype.init。这样做的好方法是什么?

标签: javascriptoop

解决方案


我找到了做我想做的事的方法。

现在我知道 apply() 是如何工作的,这很容易。

var parentInit = Parent.prototype.init;

Toolbar.prototype.init = function()
{
    parentInit .apply(this, arguments);
    // Your code here
};

推荐阅读