创建对象----原型模式

Posted 山水如画

tags:

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

创建的每一个函数都有一个 prototype (原型)属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。可以理解为:通过调用构造函数而创建的那个对象实例的原型对象。

使用原型对象的好处是可以让所有对象实例共享它所包含的属性和方法。理解:不必再构造函数中定义对象实例的信息,而是可以将这些信息直接添加到原型对象中,如下例所示:

function Person(){

}

Person.prototype.name = "wsc";
Person.prototype.age = 26;
Person.prototype.job = "software engineer";
Person.prototype.sayName = function(){
     alert(this.name);    
}

var person1 = new Person();
person1.sayName();//"wsc"   这是直接调用原型对象Person中的sayName()函数对象;

var person2 = new Person();
person2.sayName();////"wsc"   这是直接调用原型对象Person中的sayName()函数对象;

alert(person1.sayName === person2.sayName);//true

1.理解原型对象

创建一个新函数,根据特定的规则,会自动为该函数创建一个 prototype 属性,这个属性指向函数的原型对象。

在默认情况下,所有原型对象都会自动获得一个constructor (构造函数) 属性,这个属性是一个指向 prototype 属性所在函数的指针。那前面的例子来说,Person.prototype.constructor 指向Person.而通过这个构造函数,还可以继续为原型对象添加其他属性和方法。

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

JSJavaScript创建对象 - 工厂模式 - 构造函数模式 - 原型模式 - 原型链 - 组合模式

设计模式--原型模式

原型模式

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

设计模式在游戏中的应用--原型模式

Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段