Javascript继承构造函数

Javascript inherit constructor

本文关键字:构造函数 继承 Javascript      更新时间:2024-03-02

我可以在不更改子代码构造函数的情况下让子代码继承父代码,如下所示:

var parent = function(params){
    this.params = params;
}
var child = function(){}
var childObj = new child({one:1,two:2});
console.log(childObj.params) //should show params

您不能。这是怎么回事,你传递给函数的参数(对它们没有任何作用)从外部不可用。。。

function child(p) {
    parent.call(this, p);
}

在不修改构造函数函数的情况下,要达到预期结果,唯一能做的就是手动设置它们:

var childObj = new child();
childObj.params = {one:1,two:2};
// or, if you want all child objects to inherit them:
child.prototype.params = {one:1,two:2};