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

问题描述 投票:0回答:1

例如,我们有一个功能

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的原型中使用函数。哪种方法最好?

javascript parameter-passing prototype prototypal-inheritance
1个回答
1
投票

我认为正确的方法是使用callapply

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

© www.soinside.com 2019 - 2024. All rights reserved.