原型链
关于原型相关知识整理:
构造函数,实例对象,原型对象
__proto__的来历;
实例对象的__proto__指向他的构造函数的prototype;
构造函数的__proto__指向Function的prototype;
Function的__proto__指向Function的prototype;
2.prototype的来历(重点)
a.自定义和内置对象
I.实例对象的__proto__指向他的构造函数的prototype;
II.构造函数的prototype指向Object的prototype;
III.Object的prototype指向null;
b.函数
I.函数的__proto__指向他的构造函数(Function)的prototype;
II.Function的prototype指向Object的prototype;
III.Object的prototype指向null;
超级复杂图:
面试中相关原型问题:
1:说一说你对原型的理解:
1.函数:有prototype和__proto__两个属性;
对象:只有__proto__属性;
2.对象实例的原型-->构造函数原型-->Object的原型-->null;
3.JS中函数也是一种对象;
2:prototype的作用:
0.拓展自定义对象和内置对象的功能;
1.给构造函数的prototype添加属性和方法,所有实例对象都可以使;(实例对象)
2.给构造函数的prototype重新赋值为另一个构造函数的实例,用于继承;(构造函数本身)