Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //***************************
- // Functional Classes method
- //***************************
- var Dog = function(name, breed, age) {
- var obj = {};
- obj.name = name;
- obj.breed = breed;
- obj.age = age;
- extend(obj, Dog.status);
- extend(obj, Dog.actions);
- return obj;
- };
- var extend = function(obj1, obj2) {
- for(var key in obj2) {
- obj1[key] = obj2[key]
- }
- };
- Dog.status = {
- 'happiness' : 50,
- 'hunger' : 20,
- 'energy' : 50
- };
- Dog.actions = {
- 'feed': function (food) {
- if(this.hunger - food > 0) {
- this.hunger -= food;
- } else {
- this.hunger = 0;
- };
- },
- 'play': function(time) {
- if(this.happiness + time < 100) {
- this.happiness += time;
- } else {
- this.happiness = 100;
- };
- if(this.energy - time > 0) {
- this.energy -= time;
- } else {
- this.energy = 0;
- };
- },
- 'nap': function(time) {
- if(this.energy + time < 100) {
- this.energy += time;
- } else {
- this.energy = 100;
- };
- }
- };
- //***************************
- //Prototypal Class method
- //***************************
- var Dog = function(name, breed, age) {
- var obj = Object.create(Dog.prototype);
- obj.name = name;
- obj.breed = breed;
- obj.age = age;
- obj.happiness = 50;
- obj.hunger = 20;
- obj.energy = 50;
- return obj;
- };
- Dog.prototype.feed = function (food) {
- if(this.hunger - food > 0) {
- this.hunger -= food;
- } else {
- this.hunger = 0;
- };
- };
- Dog.prototype.play = function(time) {
- if(this.happiness + time < 100) {
- this.happiness += time;
- } else {
- this.happiness = 100;
- };
- if(this.energy - time > 0) {
- this.energy -= time;
- } else {
- this.energy = 0;
- };
- };
- Dog.prototype.nap = function(time) {
- if(this.energy + time < 100) {
- this.energy += time;
- } else {
- this.energy = 100;
- };
- };
- //***************************
- //Pseudoclassical class method
- //***************************
- var Dog = function(name, breed, age) {
- this.name = name;
- this.breed = breed;
- this.age = age;
- this.happiness = 50;
- this.hunger = 20;
- this.energy = 50;
- };
- Dog.prototype.feed = function (food) {
- if(this.hunger - food > 0) {
- this.hunger -= food;
- } else {
- this.hunger = 0;
- };
- };
- Dog.prototype.play = function(time) {
- if(this.happiness + time < 100) {
- this.happiness += time;
- } else {
- this.happiness = 100;
- };
- if(this.energy - time > 0) {
- this.energy -= time;
- } else {
- this.energy = 0;
- };
- };
- Dog.prototype.nap = function(time) {
- if(this.energy + time < 100) {
- this.energy += time;
- } else {
- this.energy = 100;
- };
- };
- var tofu = new Dog('Tofu', 'chiuahuah', 7)
Add Comment
Please, Sign In to add comment