动态原型

动态原型模式将所有信息封装在了构造函数中,而通过构造函数中初始化原型(仅第一个对象实例化时初始化原型),这个可以通过判断该方法是否有效而选择是否需要初始化原型。

function Blog(name, url) {
  this.name = name;
  this.url = url;
 
  if (typeof this.alertInfo != 'function') {
    // 这段代码只执行了一次
    alert('exe time');
    Blog.prototype.alertInfo = function() {
      alert(thia.name + this.url);
    }
  }
}
 
var blog = new Blog('wuyuchang', 'http://tools.***.net'),
  blog2 = new Blog('wyc', 'http:***.com');

}

原文地址:https://www.cnblogs.com/guanguan-/p/7126226.html