【JS第24期】设计模式-动态原型模式

动态原型模式把所有信息都封装在了构造函数中,在构造函数中初始化原型。如:

function Persion(name, age) {
  this.name = name;
  this.age = age;
  if (typeof Persion.prototype.sayName != "function") {
    Persion.prototype.sayName = function() {
      return this.name;
    }
  }
}
var p1 = new Persion('bill', 11);
p1.sayName();

只有在sayName方法不存在时,才会创建,这里或许会有疑问,是否原型上有多少方法就写多少if?这个没有必要,只需要判断其中一个即可。

【JS第24期】设计模式-动态原型模式_第1张图片
qrcode_for_gh_76cb9bd1051f_344.jpg

你可能感兴趣的:(【JS第24期】设计模式-动态原型模式)