动态原型模式把所有信息都封装在了构造函数中,而通过在构造函数中初始化原型(仅在必要的情况下),又保持了

同时使用构造函数和原型的优点;换句话说,可以通过检查某个应该存在的方法是否有效,来决定是否需要初始化原型

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
function Person(name, age, job) {
    // 属性
    this.name = name;
    this.age = age;
    this.job = job;
    // 方法
    if (typeof this.sayName != "function") { Person.prototype.sayName = function() { alert(this.name); } }  
}

var friend = new Person("Mary", 18, "Software Engineer");
friend.sayName();

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄