SerovMihail
4/2/2017 - 7:50 PM

functional inheritance

functional inheritance

function Rabbit(name) {
  Animal.apply(this, arguments);
}
//Такой вызов запустит функцию Animal в контексте текущего объекта, 
//со всеми аргументами, она выполнится и запишет в this всё, что нужно.

//Здесь можно было бы использовать и Animal.call(this, name), 
//но apply надёжнее, так как работает с любым количеством аргументов.
Rabbit.prototype.run = function() {
   // вызвать метод родителя, передав ему текущие аргументы
   Animal.prototype.run.apply(this, arguments);
   this.jump();
 }