javascript 写类方式之二

  2、原型方式

  

复制代码 代码如下:

  /**

  * Person类:定义一个人,有个属性name,和一个getName方法

  */

  function Person(){}

  Person.prototype.name = "jack";

  Person.prototype.getName = function() { return this.name;}

  把类的属性(字段),方法都挂在prototype上。

  造几个对象测试下:

  

复制代码 代码如下:

  var p1 = new Person();

  var p2 = new Person();

  console.log(p1.getName());//jack

  console.log(p2.getName());//jack

  

  可以看出输出的都是jack,所以原型方式的缺点就是不能通过参数来构造对象实例 (一般每个对象的属性是不相同的) ,优点是所有对象实例都共享getName方法(相对于构造函数方式),没有造成内存浪费