面向对象(创建对象)--动态原型模式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() 方法不存在的情况下,才会将它添加到原型中。这段代码只会在初次调用构造函数时才会执行。此后,原型已经完成初始化,不需要再做什么修改了。

猜你喜欢

转载自blog.csdn.net/jiaojsun/article/details/82957083