JavaScript Prototyping 2

by Mohammed Ismail Ansari

HTML

<div id="output-div"></div>
<div id="error-div"></div>

CSS

body
{
    font-family: Arial;
}

#error-div
{
    color: Red;
}

JavaScript

function WriteLine(text) { $("#output-div").append(text + "<br />"); }
function WriteError(error) { $("#error-div").append(error.toString() + "<br />"); }
try
{
    var Animal = (function() {
        var Animal = function(animalName) {
            this.animalName = animalName;
            WriteLine(animalName + " spawned!");
        }
        Animal.prototype = (function() {
            var eat = function(food) {
                    WriteLine(this.animalName + " is eating " + food);
                },
                drink = function(food) {
                    WriteLine(this.animalName + " is drinking " + food);
                },
                move = function(direction, speed) {
                    WriteLine(this.animalName + " is moving towards " + direction + ", at a speed of " + speed);
                },
                sit = function() {
                    WriteLine(this.animalName + " is sitting");
                };
            return {
                eat: eat,
                drink: drink,
                move: move,
                sit: sit
            }
        })();
        return Animal;
    })();
    
    var myAnimal = new Animal("Paulie");
    myAnimal.eat("plant");
    myAnimal.drink("water");
    myAnimal.move("West", "3kmph");
    myAnimal.sit();
}
catch(ex) { WriteError(ex); }