1. 程式人生 > >面向物件(建立物件)--動態原型模式05

面向物件(建立物件)--動態原型模式05

可以通過檢查某個應該存在的方法是否有效,來決定是否需要初始化原型。


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("Nicholas", 29, "Software Engineer");
friend.sayName();

這裡只在 sayName() 方法不存在的情況下,才會將它新增到原型中。這段程式碼只會在初次呼叫建構函式時才會執行。此後,原型已經完成初始化,不需要再做什麼修改了。