`
holdbelief
  • 浏览: 706370 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaScript的Prototype属性

阅读更多

JavaScript的Prototype属性

    JavaScript的Prototype属性

 

    The JavaScript Prototype Property

 

    JavaScript没有提供传统的类结构,使你可以通过继承它,然后加入新功能来扩展一个类。相反,这门语言使用prototype属性来扩展现有对象,以及它们的示例。

 

    prototype是在运行期定义的一个属性和方法的集合,它对对象的每个示例都是有效的,而且不管这些示例是在prototype修改前,还是修改后建立的。

 

    prototype在JavaScript中的工作原理是:当访问对象的属性时,浏览器的脚本引擎首先会从本地属性(native propertie)中查找这个属性,接着会在prototype属性中进行查找。如果在prototype属性中没有找到,它就会检查示例级的属性。

 

    在如下的代码中,我们使用prototype属性,来扩展Number对象,在这里,我们添加了一个新的属性percentage,以及一个新的方法adjustValue:

 

    Number.prototype.percentage = 0.15; // 15%
     Number.prototype.adjustValue = function()

    {
          return this * this.percentage;
     }

 

    我们可以像访问本地属性一样访问新属性:

    var someValue = 3.0;

    alert(someValue.adjustValue());

 

    这个应用程序会显示一个消息,这个消息会把调整后的值显示出来,也就是将初始值3.0乘以0.15。

 

    Prototype库利用prototype的能力,为某些内置对象添加扩展,例如:String、Array、Function。下面就是一个对stripTags方法进行扩展的示例,它可以剔除字符串中所有元素的标签。

 

    var str = "<p>This is a paragraph</p>";

    var newStr = str.stripTags(); // 结果是“This is a paragraph”

 

    JavaScript的prototype属性的功能相当强大,而且在很大程度上构成了Prototype库的基础。但同时它也是有风险的。

分享到:
评论

相关推荐

    JavaScript prototype属性详解

    JavaScript中的`prototype`属性是面向对象编程的关键特性之一,它关联了函数(特别是构造函数)与实例之间的继承关系。每个函数都有一个`prototype`属性,这个属性是一个对象,包含了所有实例共享的方法和属性。当...

    JavaScript prototype属性深入介绍

    JavaScript中的prototype属性是一个深入理解面向对象编程机制的重要部分。每个JavaScript函数在创建时都会自动拥有一个prototype属性,它是一个对象,这个属性指向了函数的原型对象。在原型对象中,会有一个...

    JavaScript prototype属性使用说明

    JavaScript中的prototype属性是一个非常重要的概念,它是ECMAScript规范定义的一部分,用于给对象的构造函数添加新方法或者修改现有方法。IE 4引入的prototype属性主要用于面向对象编程中,能够在不改变原有构造函数...

    JavaScript的prototype

    1. **函数的prototype属性** 当我们创建一个函数时,如`function Person() {}`,`Person.prototype`就是一个对象,可以添加方法和属性。这些方法和属性可以被通过`new Person()`创建的对象共享。 2. **构造函数与...

    JavaScript prototype对象的属性说明

    一、什么是JavaScript中对象的prototype属性 JavaScript中对象的prototype属性,是用来返回对象类型原型的引用的。我们使用prototype属性提供对象的类的一组基本功能。并且对象的新实例会”继承”赋予该对象原型的...

    JavaScript使用prototype属性实现继承操作示例

    主要介绍了JavaScript使用prototype属性实现继承操作,结合实例形式详细分析了JavaScript使用prototype属性实现继承的相关原理、实现方法与操作注意事项,需要的朋友可以参考下

    JavaScript中对象的prototype属性代码实例

    我猜一般用过JavaScript的人都看见过或者用过对象的prototype属性。这是个好东西,它可以向其原型中动态添加功能(属性和方法),但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。详细介绍:...

    JavaScript类和继承 prototype属性

    prototype属性本质上还是一个JavaScript对象。 并且每个函数都有一个默认的prototype属性。 如果这个函数被用在创建自定义对象的场景中,我们称这个函数为构造函数。 比如下面一个简单的场景: 代码如下: // 构造...

    javascript prototype文档.rar

    在JavaScript中,每个函数都有一个`prototype`属性,这个属性是一个对象,用于添加或扩展实例方法。当尝试访问一个对象的属性时,如果该对象本身没有这个属性,JavaScript会查找其原型,如果原型也没有,就继续查找...

    JavaScript_Prototype(源代码+中文手册).rar

    3. **原型对象的方法**:JavaScript中的`prototype`对象有一些内置方法,如`hasOwnProperty()`用于检查属性是否属于当前对象而不是原型链,`isPrototypeOf()`用来判断对象是否存在于原型链上,以及`toString()`等。...

    JavaScript中的prototype(原型)属性研究

    JavaScript中的prototype属性是理解面向对象编程的关键概念之一。在JavaScript中,每个函数都有一个prototype属性,这个属性指向一个对象,这个对象就是所谓的原型对象。当我们创建一个函数实例时,实例会自动获取一...

    js遍历属性 以及 js prototype 和继承

    在JavaScript中,遍历属性、理解`prototype`和掌握继承机制是编程中不可或缺的基本技能。本文将深入探讨这些概念,并通过实例来加深理解。 首先,让我们来看如何遍历JavaScript对象的属性。JavaScript提供了多种...

    Advanced JavaScript (closures,prototype,inheritance)

    JavaScript,作为一种广泛应用于Web开发的脚本语言,其高级特性如闭包(closures)、原型(prototype)和继承(inheritance)是理解其精髓的关键。本文将深入探讨这些概念,帮助开发者更好地掌握JavaScript的核心。 ...

    javascript prototype原型操作笔记.docx

    每个 JavaScript 对象都有一个内部属性 `[[Prototype]]`,它链接到另一个对象,即原型对象。当我们尝试访问一个对象的属性或者方法时,如果该对象自身不包含此属性或方法,则会沿着原型链向上查找,直到找到该属性或...

    理解JavaScript的prototype属性

    JavaScript中的prototype属性是语言的一个核心概念,与原型继承机制密切相关。在理解prototype属性时,有几个关键点需要掌握: 1. 原型(Prototype)概念:在JavaScript中,几乎所有的对象都是通过另一个对象来继承...

    javascript中的prototype属性使用说明(函数功能扩展)

    JavaScript中的prototype属性是理解其原型继承模型的关键部分。它被翻译为“原型”,是JavaScript语言中一个非常特殊的属性,它在实现对象的继承机制中扮演了核心角色。 在JavaScript里,prototype属性属于函数对象...

    javascript Prototype 对象扩展.docx

    ### JavaScript Prototype 对象扩展 #### 一、简介与背景 在JavaScript中,`prototype`是一个非常重要的概念,尤其是在面向对象编程(OOP)方面。通过利用`prototype`,开发者能够更高效地管理对象间的共享属性和...

    Javascript中prototype属性实现给内置对象添加新的方法

    在JavaScript编程中,原型(prototype)是一个核心概念,...通过了解和应用JavaScript中的prototype属性,我们能够更加灵活地扩展和利用JavaScript内置对象的功能,同时也能够更好地掌握JavaScript面向对象编程的真谛。

Global site tag (gtag.js) - Google Analytics