【前端字典】 JavaScript 原型链

493 阅读2分钟

什么是构造函数

JavaScript中,构造函数指的是用new关键字调用的函数。

什么是实例化

实例化是创建一个变量的过程,而通常我们调用构造函数来实例化就是创建变量的同时并做一些初始化的工作。由构造函数实例化出的变量被称为实例对象

什么是构造函数的原型

构造函数的原型是一个对象,要理解构造函数的原型得从它的设计初衷说起,因为用new关键字构造出的实例对象,都会拥有一份构造函数自身属性和方法的副本,这样对于可共享的构造函数的一些属性和方法来说,如果每次实例化一个新对象都要为它们开辟新内存空间的话就太浪费了。于是设计者给构造函数增加了一个prototype属性,引用了一个对象,所有需要共享的属性和方法都放在这个对象上,不需要共享的就放在构造函数中。

所以一个实例对象的属性和方法分为两种,一种是本地的,一种是引用的。

什么是原型链

每个对象都有一个_proto_属性,指向其构造函数原型,这样就形成了对象上游构造函数原型对象的连接,而上游原型对象也有_proto_属性,这样就形成了一条的原型链

原型链有什么作用

原型链实现了原型链上的所有属性和方法都是被所有实例对象所公用的。 当我们在访问对象的某个属性时,会先查找其自身的属性和方法,如果没有则会向上查找原型链,直到原型链的尽头(Object对象)为止,没有找到则返回undefined

到此本文就结束啦,能坚持看完的小伙伴们必成大才!