原型,原型链

简介: 原型,原型链

前言

带你快速了解原型,原型链。


一、原型

1.什么是原型

函数都有prototype属性,这个属性指向的是一个对象,称之为原型(也称原型对象)。

原型对象也有个constructor属性指向它的构造函数。

Student类里的student()构造函数有个prototype属性其指向Student.prototype这个对象,即原型对象,通过student()构造函数实例化的对象student1有个__proto__属性,也指向Student.prototype这个原型对象。

2.隐式原型、显示原型

  • 通过prototype属性指向的对象是显示对象
  • 通过__proto__属性指向的对象是隐式对象:
    上述的Student实例化n个对象:student1,studen2......等,其__proto__属性都指向同一个Student.prototype对象,即student1.__proto__===student2.__proto__===Student.prototype

3.原型的作用

  • 存放一些属性方法,共享给实例对象使用。(即数据共享,节约内存空间)
  • 实现继承

二、原型链

什么是原型链

对象都有__proto__属性,这个属性指向它的原型对象,原型对象也是对象,也有__proto__属性,指向原型对象的原型对象,这样一层层形成的链式结构成为原型链,最顶层找不到则返回null。

补充说明

在JavaScript中,函数都可以看作是Function()的实例,所以函数的构造函数是Function()。而且Function()本身自己也是函数。

Student.constructor===Function
  Function.constrctor===Function
  Object.constrctor===Function
  Student.__proto__===Object.__proto__===Function.__proto__===Function.prototype

总结

以上就是原型、原型链的讲解。

相关文章
|
前端开发
前端原型和原型链构造函数的使用
前端原型和原型链构造函数的使用
68 0
|
前端开发
前端原型和原型链构造函数的使用
前端原型和原型链构造函数的使用
82 0
|
6月前
|
设计模式 前端开发 JavaScript
【面试题】 对象、原型、原型链与继承?这次我懂了!
【面试题】 对象、原型、原型链与继承?这次我懂了!
|
6月前
|
设计模式 前端开发 JavaScript
【面试题】对象、原型、原型链与继承 ,你了解多少?
【面试题】对象、原型、原型链与继承 ,你了解多少?
|
JavaScript 前端开发
原型和原型链
原型和原型链
33 0
|
存储 JavaScript 前端开发
深入理解原型与原型链
当我们在 JavaScript 中创建一个对象时,它会自动继承一个称为“原型”的对象。如果该对象访问一个属性或方法,但在自己的属性列表中找不到,它会沿着原型链向上查找,直到找到该属性或方法为止。在本篇文章中,我们将深入探讨 JavaScript 中的原型与原型链。
|
JavaScript 前端开发
JavaScript 中的原型、对象原型、原型继承和原型链
在 JavaScript 中,原型(prototype)是一个对象,它用于实现对象之间的继承和共享属性。JavaScript 是一种基于原型的编程语言,每个对象都有一个原型,而原型又可以拥有自己的原型,形成一个原型链。
|
JavaScript
关于原型、原型链我所知道的
关于原型、原型链我所知道的
78 0
|
前端开发 JavaScript
原型、原型链和继承~我终于搞定了啊~~
不管是在学习JavaScript,还是面试找工作,逃不过去的就是原型、原型链和继承这几个重点和难点;对于这些内容的掌握还是很有必要的。
112 0
原型、原型链和继承~我终于搞定了啊~~
|
前端开发 JavaScript