我们来看一下javascript中的原型:
javascript原型是一个对象。
javascript中所有的构造函数都有一个属性,叫prototype,这个属性存放的就是原型对象;访问这个属性通过:函数名.prototype ,从而可以访问到这个原型对象,也可以为这个原型赋值。在原型对象中有一个属性叫constructor,这个constructor指向函数本身。我偿可以访问到原型中的这个属性:函数名.prototype.constructor;我们可以为原型对象添加属性并赋值:函数名.prototype.属性名=值;为函数原型添加的属性,都会成为构造函数的属性,从而成为对象的属性。既然对象具有了原型内的属性,说明对象中的这些属性是从原型中继承来的。所以javascript是基于原型的继承的。
当读取对象的属性时,会先查找对象的常规属性,如果常规属性中没有,则去查找原型中的属性。当给对象的属性赋值时,javascript不会使用原型对象。即:如果对象的常规属性中有此属性,则直接赋值vkjsfq此属性而在原型对象中存在此属性,那么,对象会在自己的常规属性中添加一个与这个原型对象中同名的属性。而不去修改原型对象属性的值。注意:这时再读取这个属性时,读取的是常规属性中的值,原型对象中的这个属性值已经读取不到了,已经被对象中的常规属性给覆盖了。
下面举一个例子:
function Rectangle(w,h){//定义一个矩形的函数
this.width = w;
this.height = h;
}
Rectangle.prototype.area = function(){ return this.width * this.height; }//area定义为原型对象中的一个属性,是为了计算矩形的面积
分享到:
相关推荐
JavaScript原型链是JavaScript语言中的一个核心特性,它关乎对象之间的继承关系。在JavaScript中,一切皆为对象,而原型链则是实现对象间属性和方法共享的一种机制。理解原型链对于深入学习JavaScript至关重要。 ...
彻底理解 JavaScript原型 原型是JavaScript中一个比较难理解的概念,原型相关的属性也比较多,对象有"[[prototype]]"属性,函数对象有"prototype"属性,原型对象有"constructor"属性。 为了弄清原型,以及原型相关的...
深入理解javascript原型和闭包(01)——一切都是对象 深入理解javascript原型和闭包(02)——函数和对象的关系
javascript-原型与原型链
在JavaScript中,原型继承是实现对象间属性和方法共享的关键。 **JavaScript的主要特点:** 1. **解释型语言**:JavaScript代码通常在浏览器中由JavaScript引擎解释执行,无需预先编译。 2. **基于原型的继承**:...
本文将深入探讨JavaScript原型继承的工作原理、实现方式以及在现代Web开发中的应用。 JavaScript的原型继承是一种强大且灵活的机制,它允许对象之间共享功能和行为。通过深入理解原型继承的工作原理和实现方式,...
在JavaScript中,函数扮演着至关重要的角色,它们不仅仅是代码块,更是数据的一种形式。JavaScript的灵活性使得函数可以作为变量、对象的方法甚至构造函数使用。理解函数的原型链和闭包对于深入掌握JavaScript至关...
javascript Map原型,对象,实现javascript中的Map数据类型功能
JavaScript原型和闭包是这门语言中两个比较难以理解且与其他面向对象语言区别较大的概念。理解这两个概念,不仅能让我们更深层次地理解JavaScript,而且有助于我们了解编程语言的设计思路,拓宽我们的视野。 首先,...
总结来说,"JavaScript_原型UI元素的集合.zip"这个压缩包提供了一套关于JavaScript原型机制和UI元素实现的实践教程。通过学习和研究,开发者不仅可以掌握JavaScript对象继承的原理,还能了解到如何用JavaScript高效...
本文将深入探讨JavaScript原型链的工作原理及其可能导致的安全问题——原型链污染。 首先,JavaScript 中的对象继承并不像传统面向对象语言那样基于类,而是通过原型链机制。每个对象都有一个内部属性`[[Prototype]...
JavaSciptDOM基本操作,JavaScipt函数基础,JavaScipt流程语句,JavaScript变量,JavaScript数据类型,JavaScript数组,JavaScript正则表达式,JavaScript字符串函数,Window对象等图解。JS高手进阶的工具图谱
JavaScript中的原型解析是理解JavaScript面向对象编程的关键概念。在JavaScript中,由于没有像Java那样的类概念,因此继承机制是基于原型(prototype)实现的。每个函数都有一个名为`prototype`的属性,它实际上是一...
通过原型链,一个对象不仅可以访问到自己原型中的属性和方法,还可以一直追溯到更高层的原型对象,直到达到链的末端(一般而言,链的末端是 null)。原型链使得对象可以继承链上每个原型对象的属性和方法,丰富了...
总的来说,JavaScript中的面向对象编程与传统的基于类的OOP有所不同,它通过原型链和构造函数来实现对象的创建和继承。正确理解并运用这些概念,可以让开发者更有效地利用JavaScript进行面向对象的编程。
原型模式是面向对象编程中的一个重要概念,在JavaScript中,这种模式尤其重要。它通过复制一个现有的对象实例来创建新的对象实例,而不是像传统类那样通过定义一个类来创建实例。在原型模式下,一个对象成为另一个...
### 理解Javascript原型继承原理 #### 一、引言 在JavaScript中,原型继承是一种非常核心且独特的机制,它使得对象能够继承其他对象的属性和方法。本文旨在深入探讨这一机制,并通过具体的示例代码帮助读者更好地...