快速搞懂JavaScript的原型对象与原型链
November 08, 2023
634
一、原型/构造函数/实例
(一)浅析:
原型(prototype): 一个简单的对象,用于实现对象的属性继承(可以简单理解为对象的爹)。在 Firefox 和 Chrome 中,每个
JavaScript
对象中都包含一个__proto__
(非标准)的属性指向它爹(该对象的原型,大多数时候叫它原型对象),可obj.__proto__
进行访问构造函数: 可以通过
new
来 新建一个对象 的函数。实例: 通过构造函数和
new
创建出来的对象,便是实例。 实例通过__proto__
指向原型,通过constructor
指向构造函数。
(二)三者的关系
关系
1
2
3
4
5
6
7
8
9
实例.__proto__ === 原型 // 是每个对象都有的属性
构造函数.prototype === 原型 //函数才会有prototype属性
原型.constructor === 构造函数
// __proto__: 是在每一个对象里面,代表这个对象继承了哪些公共的属性方法。
// prototype: 存在于每一个函数里面,他除了一个construct属性外,还包含了一些其他的属性,方法,如果函数作为构造函数使用,这些属性方法就传会给他实例化对象。
二、原型链
1、原型链是由原型对象组成,每个对象都有 __proto__
属性,指向了创建该对象的构造函数的原型,__proto__
将对象连接起来组成了原型链。是一个用来实现继承和共享属性的有限的对象链
- 本文作者:wowangmouren
- 本文链接:https://wangwewntao.top/2023/11/08/wmr_22/index.html
- 版权声明:本博客所有文章均采用 BY-NC-SA 许可协议,转载请注明出处!