JSFiddle - React, Tailwind, and code Playground

by obobruyko

JavaScript

function Animal(name) {
    var speed = 10;
    
    var runningTime = function(distance) {
            return distance / speed;
    };
    
    return {
        name: name,
        runningTime: runningTime
    }
};

function Rabbit(name) {
    // вызвать конструктор родителя,
    // получить родительский объект в self
    var self = Animal(name);
    // добавить приватную переменную
    var jumps = 0;
    /* добавить новые методы к self */
    self.jump = function() { 
        jumps++; 
    };
    self.getJumps = function() { 
        return jumps; 
    };
 
    return self;
}

var pet1 = Rabbit("Fluffy");
var pet2 = Animal();

console.log(pet1.runningTime(5));
pet1.jump();
console.log(pet1.getJumps());
console.log(pet1 instanceof Object);
console.log(pet2 instanceof Object);