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`属性是面向对象编程的关键特性之一,它关联了函数(特别是构造函数)与实例之间的继承关系。每个函数都有一个`prototype`属性,这个属性是一个对象,包含了所有实例共享的方法和属性。当...
JavaScript中的prototype属性是一个深入理解面向对象编程机制的重要部分。每个JavaScript函数在创建时都会自动拥有一个prototype属性,它是一个对象,这个属性指向了函数的原型对象。在原型对象中,会有一个...
JavaScript中的prototype属性是一个非常重要的概念,它是ECMAScript规范定义的一部分,用于给对象的构造函数添加新方法或者修改现有方法。IE 4引入的prototype属性主要用于面向对象编程中,能够在不改变原有构造函数...
1. **函数的prototype属性** 当我们创建一个函数时,如`function Person() {}`,`Person.prototype`就是一个对象,可以添加方法和属性。这些方法和属性可以被通过`new Person()`创建的对象共享。 2. **构造函数与...
一、什么是JavaScript中对象的prototype属性 JavaScript中对象的prototype属性,是用来返回对象类型原型的引用的。我们使用prototype属性提供对象的类的一组基本功能。并且对象的新实例会”继承”赋予该对象原型的...
主要介绍了JavaScript使用prototype属性实现继承操作,结合实例形式详细分析了JavaScript使用prototype属性实现继承的相关原理、实现方法与操作注意事项,需要的朋友可以参考下
我猜一般用过JavaScript的人都看见过或者用过对象的prototype属性。这是个好东西,它可以向其原型中动态添加功能(属性和方法),但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。详细介绍:...
prototype属性本质上还是一个JavaScript对象。 并且每个函数都有一个默认的prototype属性。 如果这个函数被用在创建自定义对象的场景中,我们称这个函数为构造函数。 比如下面一个简单的场景: 代码如下: // 构造...
在JavaScript中,每个函数都有一个`prototype`属性,这个属性是一个对象,用于添加或扩展实例方法。当尝试访问一个对象的属性时,如果该对象本身没有这个属性,JavaScript会查找其原型,如果原型也没有,就继续查找...
3. **原型对象的方法**:JavaScript中的`prototype`对象有一些内置方法,如`hasOwnProperty()`用于检查属性是否属于当前对象而不是原型链,`isPrototypeOf()`用来判断对象是否存在于原型链上,以及`toString()`等。...
JavaScript中的prototype属性是理解面向对象编程的关键概念之一。在JavaScript中,每个函数都有一个prototype属性,这个属性指向一个对象,这个对象就是所谓的原型对象。当我们创建一个函数实例时,实例会自动获取一...
在JavaScript中,遍历属性、理解`prototype`和掌握继承机制是编程中不可或缺的基本技能。本文将深入探讨这些概念,并通过实例来加深理解。 首先,让我们来看如何遍历JavaScript对象的属性。JavaScript提供了多种...
JavaScript,作为一种广泛应用于Web开发的脚本语言,其高级特性如闭包(closures)、原型(prototype)和继承(inheritance)是理解其精髓的关键。本文将深入探讨这些概念,帮助开发者更好地掌握JavaScript的核心。 ...
每个 JavaScript 对象都有一个内部属性 `[[Prototype]]`,它链接到另一个对象,即原型对象。当我们尝试访问一个对象的属性或者方法时,如果该对象自身不包含此属性或方法,则会沿着原型链向上查找,直到找到该属性或...
JavaScript中的prototype属性是语言的一个核心概念,与原型继承机制密切相关。在理解prototype属性时,有几个关键点需要掌握: 1. 原型(Prototype)概念:在JavaScript中,几乎所有的对象都是通过另一个对象来继承...
JavaScript中的prototype属性是理解其原型继承模型的关键部分。它被翻译为“原型”,是JavaScript语言中一个非常特殊的属性,它在实现对象的继承机制中扮演了核心角色。 在JavaScript里,prototype属性属于函数对象...
### JavaScript Prototype 对象扩展 #### 一、简介与背景 在JavaScript中,`prototype`是一个非常重要的概念,尤其是在面向对象编程(OOP)方面。通过利用`prototype`,开发者能够更高效地管理对象间的共享属性和...
在JavaScript编程中,原型(prototype)是一个核心概念,...通过了解和应用JavaScript中的prototype属性,我们能够更加灵活地扩展和利用JavaScript内置对象的功能,同时也能够更好地掌握JavaScript面向对象编程的真谛。