javascript (对象定义)原型模式

原创 2016年08月30日 17:37:47

每个函数中都有一个prototype(原型)属性,它是一个指针,指向一个对象。
按照原型定义,prototype通过调用构造函数而创建的对象实例的原型对象。使用原型对象的好处是可以让所有实例共享它包含的属性和方法。

代码例子:
function Person(){}

Person.prototype.name="Nicholas";

Person.prototype.age=29;

Person.prototype.job="software Engineer";

Person.prototype.sayName=function(){

console.log(this.name);

};

var person1=new Person();

person1.sayName();          //Nicholas

var person2=new Person();

person2.sayName();          //Nicholas

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



原生模型也存在一个问题
就是这个元素对象的属性很多实例都可以共享,当一个实例修改其中的属性的时候,其他属性也跟随着修改。
版权声明:本文为原创文章,未经博主允许不得转载,欢迎各种交流,共同进步。

相关文章推荐

【JS】JavaScript中对象的创建与原型模式

JavaScript中对象的创建与原型模式
  • LZGS_4
  • LZGS_4
  • 2015年02月27日 23:59
  • 812

javascript中原型模式创建对象特点分析

在javascript中,我们创建的每个函数都有一个prototype(原型)属性。这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。使用原型对象的好处...

JavaScript创建对象 —— 原型模式

我们创建的每个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,这个对象我们叫它原型对象。而这个原型对象的用途是包含可以由特定类型的所有实例共享的属性和方法。它所包含的属性...

「JavaScript里的面向对象」— 5.原型模式

在这一章节中你将会学习使用“函数(function)”对象中的prototype属性。在JavaScript的学习过程中,理解prototype的工作原理是很重要的一个部分。毕竟,JavaScript...

javascript中组合使用构造函数模式和原型模式创建对象

首先来讲一下构造函数创建对象。ECMAScript中的构造函数可用来创建特定类型的对象。请看下面示例了解一下构造函数模式:function Person(name, age, job){ th...

javascript 原型模式的工作原理 到 对象模式的探寻(下)

上篇文章中提到这篇将要对编程语言设计进行一些讨论,但是笔者在学习过程中发现,需要学习的知识太多,根本不是一篇blog能说清的。所以也只能暂时放下,有机会的话,会将学习笔记整理到blog上来。笔者目前也...

JavaScript高级程序设计之面向对象的程序设计之创建对象之原型模式 第6.2.3讲笔记

我们创建的每个函数都有一个 prototype(原型)属性,这个属性是一个指针,指向一个对象, 而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。如果按照字面意思来理解,那 么pro...

javascript中的原型和创建对象的原型模式的剖析

原型对象的理解 当创建了一个函数,就会就这个函数创建一个prototype属性,这个属性指向函数的原型对象。 这时,原型对象会获得一个constructor属性,这个属性有一个指针,这个指针指向p...
  • WSS1992
  • WSS1992
  • 2017年03月06日 22:01
  • 63
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javascript (对象定义)原型模式
举报原因:
原因补充:

(最多只允许输入30个字)