继承原型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 原型中的函数。哪种方法最好?
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里面的解释。
比如我们有一个函数
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 原型中的函数。哪种方法最好?
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里面的解释。