JS原型与原型链笔记

169 阅读1分钟

一、 什么是原型链?

每个对象都可以有一个原型_proto_,这个原型还可以有它自己的原型,以此类推,形成一个原型链。查找特定属性的时候,我们先去这个对象里去找,如果没有的话就去它的原型对象里面去,如果还是没有的话再去向原型对象的原型对象里去寻找...... 这个操作被委托在整个原型链上,这个就是我们说的原型链了。


二、原型

prototype:

prototype属性,它是函数的属性,它是从一个函数指向一个对象。它的含义是函数的原型对象,也就是这个函数所创建的实例的原型对象; 这个属性会指向一个对象,这个对象的用途就是包含所有实例共享的属性和方法(我们把这个对象叫做原型对象);


__proto__ :

proto 是原型链查询中实际用到的,它总是指向 prototype,换句话说就是指向函数的原型对象,它是对象的属性。