constructor function
1. The constructor method works well, but there is a memory-wasting problem
function Cat (name, color) { this.name = name; This.color = color; This.type = "Cat animal"; This.eat = function () {alert ("Eat Mouse");};} var cat1 = new Cat ("Da Mao", "Yellow"), var cat2 = new Cat ("Er Mao", "Black"); alert (Cat1.type); Cat animal cat1.eat (); Eat mice
2.Prototype mode, all instances of the type attribute and the Eat () method, are actually the same memory address, pointing to the prototype object, thus improving the operational efficiency.
functionCat (name, color) { This. Name =name; This. color =color;} Cat.prototype.type= "Cat Animals"; Cat.prototype.eat=function() {alert ("Eat mouse") };varCAT1 =NewCat ("Da Mao", "Yellow");varCAT2 =NewCat ("Er Mao", "Black"); alert (Cat1.type); //Cat AnimalsCat1.eat ();//Eat MiceAlert (cat1.eat = = cat2.eat);//true
Javascript Object-oriented programming (i): encapsulation