Как передать аргументы при наследовании прототипов JS? - PullRequest
0 голосов
/ 20 февраля 2019

Например, у нас есть функция

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

У нас есть несколько функций в ее прототипе, и у нас есть другая функция "SecondFunction" с ее собственным прототипом.Когда я хочу наследовать прототипы, я пишу

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

Теперь, когда я пытаюсь создать новую переменную с

var newVariable = new SecondFunction();

, я хочу передать аргументы 'имя' и 'фамилия', которыеперечислены в FirstFunction, чтобы иметь возможность использовать функции в прототипе FirstFunction.Какой лучший способ сделать это?

1 Ответ

0 голосов
/ 20 февраля 2019

Я думаю, что правильный способ сделать это - использовать call или 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);

Вы можете обратиться к этой статье , которая объясняет это.

...