0
Допустим, у меня есть функция называется foo
и я хочу функция bar
наследовать вещи от foo
, таких как:Наследование свойства других функций
function foo(param1, param2, param3) {
this.params = [param1, param2, param3];
this.otherParameter = 3.141;
}
module.exports = foo;
foo.prototype.getParams = function(i, bool) {
if(bool) {
return this.params[i];
}else{
return this.otherParameter;
}
};
var foo = require('./foo');
function bar() {
this.barParams = [1, 2, 3, 4];
}
Как бы я сделать bar
основаны от foo
как bar.prototype = new foo(1, 2, 3);
? Должен ли я использовать функцию привязки? Если да, то как?
так, если я Foo содержит методы, такие как сложение и вычитание чисел, и бар получить эти номера , это позволит бару добавлять и вычитать числа, используя методы foo? –
и вызовите методы foo через 'this.add (barArg1, barArg2);' –
Да. 'bar.prototype' наследует методы от' foo.prototype', а экземпляры 'bar' наследуют их от' bar.prototype'. Затем экземпляр 'bar' также получает любые методы, добавленные' foo' (например, в конструкторе 'foo', если вы выполнили' this.add = function() {...}) ', потому что' foo' присваивает их, когда мы называем это «баром». (BTW: функции, предназначенные для использования с 'new', должны иметь начальную заглавную букву, например' Foo' и 'Bar'.) –