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();
}