创建对象之动态原型模式

Posted soldierback

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建对象之动态原型模式相关的知识,希望对你有一定的参考价值。

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

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

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();

 

以上是关于创建对象之动态原型模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式---对象创建模式之原型模式(prototype)

设计模式之原型模式简单即复杂(二十四)

设计模式之原型模式(Prototype)详解及代码示例

创建型设计模式之原型模式

设计模式之原型模式

一天学习一个设计模式之原型模式