继承原型JS时如何传递参数?

How to pass arguments when inheriting prototypes JS?

比如我们有一个函数

function FirstFunction(name, surname){
    this.name = name;
    this.surname = surname;
    ...
}

我们在它的原型中有一些函数,我们还有另一个函数 "SecondFunction" 有它自己的原型。当我想继承我写的原型时

SecondFunction.prototype = Object.create(FirstFunction.prototype);

现在,当我尝试使用

创建新变量时
var newVariable = new SecondFunction();

我想传递 FirstFunction 中列出的参数 'name' 和 'surname',以便能够使用 FirstFunction 原型中的函数。哪种方法最好?

我认为正确的做法是使用 call or apply :

function FirstFunction(name, surname){
    this.name = name;
    this.surname = surname;
}

function SecondFunction(name, surname) {
  FirstFunction.call(this, name, surname)
}
SecondFunction.prototype = Object.create(FirstFunction.prototype);


var newVariable = new SecondFunction('Harry', 'Potter');
console.log(newVariable);

你可以参考this article里面的解释。