JS中定义对象原型的两种使用方法

时间:2024-01-17 18:03:50

第一种:

function Person()
{
this.username = new Array();
this.password = "123";
}

Person.prototype.getInfo = function()
{
alert(this.username + ", " + this.password);
}

var p = new Person();
var p2 = new Person();

p.username.push("zhangsan");
p2.username.push("lisi");

p.getInfo();
p2.getInfo();

第二种:

function Person()
{
   this.username = new Array();
   this.password = "123";
}
Person.prototype={
  getInfo:function(){
      alert(this.username + ", " + this.password);
  }
}
var p = new Person();
var p2 = new Person();

p.username.push("zhangsan");
p2.username.push("lisi");

p.getInfo();
p2.getInfo();

个人比较喜欢第二种;第二种可以的原型中可以拓展各种方法,用起来比较顺手。

例如可以写:

Person.prototype={
  a方法:function(){
      do somethings...
  },

b方法:function(){
      do somethings...
  }
}