【JS第23期】设计模式-组合使用构造函数模式和原型模式

174 阅读1分钟

在21和22期我们已经介绍了构造函数模式和原型模式,如何创建及使用,也知道了它们的不足。我们这期结合这两种模式来定义一种新的模式。大体是这样:构造函数模式用于定义实例属性,而原型模式用于定义方法和共享属性。这样,我们最大限度节省了内存空间,同样也解决了两则的遗留问题。具体如下:

function Persion(name, age) {
  this.name = name;
  this.age = age;
  this.score = [98, 88, 99]
}
Persion.prototype.sayName = function(){
  return this.name;
}
var p1 = new Persion('bill', 22);
var p2 = new Persion('aim', 23);

p1.score.push(78);
p1.score // "98, 88, 99, 78"
p2.score // "98, 88, 99"
p1.score === p2.score // false
p1.sayName === p2.sayName // true

如有侵权,请发邮箱至wk_daxiangmubu@163.com 或留言,本人会在第一时间与您联系,谢谢!!

关注我们
长按二维码关注我们,了解最新前端资讯