首页 > 代码库 > Javascript 面向对象编程(一):封装

Javascript 面向对象编程(一):封装

构造函数

1.构造函数方法很好用,但是存在一个浪费内存的问题

function Cat(name, color) {    this.name = name;    this.color = color;    this.type = "猫科动物";    this.eat = function () { alert("吃老鼠"); };}var cat1 = new Cat("大毛", "黄色");var cat2 = new Cat("二毛", "黑色");alert(cat1.type); // 猫科动物cat1.eat(); // 吃老鼠

2.Prototype模式,所有实例的type属性和eat()方法,其实都是同一个内存地址,指向prototype对象,因此就提高了运行效率。

function Cat(name, color) {    this.name = name;    this.color = color;}Cat.prototype.type = "猫科动物";Cat.prototype.eat = function () { alert("吃老鼠") };var cat1 = new Cat("大毛", "黄色");var cat2 = new Cat("二毛", "黑色");alert(cat1.type); // 猫科动物cat1.eat(); // 吃老鼠alert(cat1.eat == cat2.eat); //true

 

Javascript 面向对象编程(一):封装