JSFiddle - React, Tailwind, and code Playground

by Charissima

JavaScript

function Car () {    
			    this.totalDistance = 0;
			};
			
			Car.prototype.putTotalDistance = function(distance) {
			    this.totalDistance = distance;
			};
			
			Car.prototype.getTotalDistance = function() {
			    return this.totalDistance;      
			};  
			
			Car.prototype.drive = function(distance) {
			    this.totalDistance += distance;     
			    return this.totalDistance;
			};
			
			
			function RaceCar () {};
			RaceCar.prototype = new Car();
			RaceCar.prototype.parent = Car.prototype;
			RaceCar.prototype.drive = function(distance) {
			    return this.parent.drive.call(this, (distance * 2));
			};			           
			
			var myText;
			car = new Car;
			raceCar = new RaceCar;			
		            
			car.putTotalDistance(200);
			myText = 'car totalDistance = ' + car.drive(10) + ' - ok<br>';

			raceCar.putTotalDistance(200);
			myText += 'raceCar totalDistance before drive = ' + raceCar.getTotalDistance() + ' - ok<br>';
			myText += 'raceCar totalDistance after drive = ' + raceCar.drive(10) + ' - ok<br><br>';														

			car.putTotalDistance(0);			
			raceCar.putTotalDistance(100);
			var drivingFunctions = [car.drive, raceCar.drive];

			myText += drivingFunctions[0](10) + '<br>';
			try {
				myText += drivingFunctions[1](100) + '<br>';				
			}
			catch(err) {
				myText += err + + '<br>'
			}

         			
			document.body.innerHTML = myText;