浅谈原型和原型链?
2019-08-16 本文已影响0人
Tz1314
构造函数是为了构建一个自定义类,并且创建这个类的实例
构造函数其实一个普通的函数,不同的是构造函数的首字母要大写,调用方式也不同,普通函数是直接调用,而构造函数是需要用new关键字来调用,new关键字做了几件事,
当构造函数创造出多个方法时,我们需要把这个方法放到一个公共的地方原型(prototype)
在js中,每当定义一个函数数据类型的时候,都会自带一个prototype属性,这个属性指向构造函数的原型对象
原型对象是一个公共的区域,所有同一个类的实例都可以访问到这个原型对象,共有的内容都可以设置到这个原型中去;
每一个对象数据类型(普通的对象、实例、prototype......)也天生自带一个属性__proto__,属性值是当前实例所属类的原型(prototype)。原型对象中有一个属性constructor, 它指向函数对象。
image