`

javascript 的原型模式

 
阅读更多

/*

javascript的原型模式

 

看了工厂模式和构造函数模式的弊端之后,就知道为什么需要原型模式了

 

原型模式i的定义:每个函数都有一个prototype(原型)属性,这个属性是一个对象,它的用途是包含可以由特定类型

的所有实例共享的属性和方法。比如在构造函数模型中sayInformation()方法,如果声明两个实例就要构造两次

sayInformation方法,但是声明两次是没有必要的,这就是为什么有原型模式的出现(尼玛,网上那些博客上面都是

扯谈的东西,还是看书讲的容易理解),sayInformation()声明为原型模式之后,实例就共享了,就没有必要声明两次了

 

 */

function Person(){}

 

Person.prototype.name="jack";

Person.prototype.age=10;

Person.prototype.sayInformation=function()

{

    console.log("my name is"+this.name+" age is"+this.age);

}

 

var person1 = new Person();

person1.sayInformation();

 

console.info(person1.name);  //来自原型的属性name

 

person1.name="Greg";  //修改实例的name属性

console.info(person1.name);  //来自实例的属性name

 

delete  person1.name ; //来自实例的属性,这里删除的是实例的属性,但是原型的属性依然存在

console.info(person1.name);  //来自原型的属性name

 

var person2 = new Person();

person2.sayInformation();

 

console.info(person1.hasOwnProperty("name")); //hasOwnProperty检查属性是属于实例还是原型中,如果是实例中就返回true

 

console.info(person1.name==person2.name);

console.info(person1.sayInformation==person2.sayInformation);

 

console.info(person1.constructor);  //指向person1的构造函数

 

 

//原型更加简便的写法

function Person2(){}

Person2.prototype={

    name:"jack",

    age:29,

    sayInformationfunction:function()

        {

            console.log("my name is"+this.name+" age is"+this.age);

        }

}

分享到:
评论

相关推荐

    JavaScript设计模式与开发实践.pdf

    第一部分讲解了JavaScript语言的面向对象和函数式编程的知识,包括静态类型语言和动态类型语言的区别及其在实现设计模式时的异同、封装、继承、多态在动态类型语言中的体现、JavaScript基于原型继承的面向对象系统的...

    JavaScript设计模式.pdf

    JavaScript设计模式.pdf JavaScript设计模式是指在软件开发中使用JavaScript语言编写的设计模式。这些设计模式旨在提高代码的重用性、可读性、维护性和扩展性。以下是JavaScript设计模式的知识点总结: 1. 单体...

    JAVASCRIPT设计模式[收集].pdf

    在现代前端开发中,JavaScript设计模式已经成为了一门必修课程。它不仅能够提升开发者的编码效率,而且还能保证编写的代码更加健壮、可维护。本文将对JavaScript设计模式的核心概念进行深入探讨,以期帮助开发者更好...

    Javascript 设计模式系统讲解与应用视频资源地址.7z

    JavaScript设计模式是编程实践中的一种重要思想,它提供了一套经过时间考验的最佳实践,用来解决常见的编程问题和提高代码的可维护性、可扩展性和可复用性。在JavaScript这种动态类型的脚本语言中,设计模式尤其重要...

    javascript 面向对象编程.pdf javascript 设计模式与开发实践.pdf

    面向对象编程(Object-Oriented Programming, OOP)是JavaScript中的核心概念,而设计模式则是解决常见编程问题的经验总结,对于提升代码质量和可维护性至关重要。这两本书——"JavaScript 面向对象编程.pdf"和...

    学用 JavaScript 设计模式.pdf

    外文翻译:学用JavaScript设计模式,pdf版本,中文版 设计模式是可重用的用于解决软件设计中一般问题的方案。设计模式如此让人着迷,以至在任何编程语言中都有对其进行的探索。 其中一个原因是它可以让我们站在巨人...

    Javascript 设计模式系统讲解与应用

    在深入探讨《JavaScript设计模式系统讲解与应用》的内容之前,我们先来了解一下设计模式的基本概念以及为什么它对于前端开发人员尤为重要。设计模式是一套被反复使用的、经过分类编目的、包含结构化的解决方案,用于...

    javascript 设计模式简化版

    包括面向对象,面向对象编程思想,javascript面向对象,设计模式通俗版,快速进入模式学习与实践。

    javascript 原型模式实现OOP的再研究

    JavaScript中的原型模式是一种实现面向对象编程(OOP)的关键机制,它基于原型继承,使得对象可以从其他对象那里获得属性和方法。在这个模式下,每个函数都有一个`prototype`属性,这个属性是一个对象,用于共享属性...

    Javascript 设计模式之构造函数模式.zip

    JavaScript设计模式是编程实践中一种优秀的代码组织方式,它总结了在特定场景下解决常见问题的最佳实践。构造函数模式是JavaScript中的一种重要设计模式,用于创建对象。本文将深入探讨构造函数模式及其应用。 构造...

    Javascript 设计模式系统讲解与应用视频资源地址.txt

    Javascript 设计模式系统讲解与应用视频资源地址.txt

    JavaScript设计模式与开发实践_himppf_js_jspremise_精通javascript_Js设计模式_

    JavaScript设计模式与开发实践是深入理解并提升JavaScript编程能力的关键领域。设计模式是对在软件设计中经常出现的问题的解决方案的描述,它代表了最佳实践,是经验丰富的开发者们经过时间检验后总结出来的解决常见...

    《Javascript 设计模式》课程代码源码

    JavaScript设计模式是编程实践中的一种重要思想,它提供了一套经过时间考验的最佳实践,用来解决常见的编程问题和提高代码的可维护性、可扩展性和可复用性。在本《JavaScript设计模式》课程的源码中,我们可以深入...

    学用 JavaScript 设计模式

    在JavaScript中,设计模式的学习和应用能够帮助开发者利用这门语言的特性,编写出更加模块化、易于维护和复用的代码。 具体到JavaScript设计模式,有多种类型可以利用,包括: 1. 构造器模式:通过构造函数创建...

    javascript设计模式.zip

    javascript设计模式JavaScript 模式《JavaScript模式》中译本-《JavaScript模式》作者Stoyan Stefanov拔赤偷懒是程序员的优质品质,模式抢先大家总结的偷懒招式。Stoyan Stefanov的这本书,从JavaScript的实际使用...

    JavaScript模式(中文版带目录)

    在JavaScript中,由于其独特的原型继承和动态类型,理解并运用设计模式能帮助开发者编写更高效、更易于维护的代码。 二、基本技巧 这部分可能涵盖变量作用域、闭包、异步编程(如回调函数、Promise、async/await)...

    JavaScript设计模式与开发实践1

    这部分重点讨论了JavaScript的动态类型特性,如封装、继承、多态,并详细阐述了基于原型继承的面向对象系统的工作原理,为后续学习设计模式打下坚实基础。 第二部分是书中的核心内容,作者通过逐步完善示例代码的...

Global site tag (gtag.js) - Google Analytics