原型

原型链

作用:是用来查找属性的。即读取对象的属性值时,如果对象本身上没有,则会去原型链上查找。设置对象的属性值时,不会查找原型链, 如果当前对象中没有此属性, 直接添加此属性并设置其值。 方法一般定义在原型中, 属性一般通过构造函数定义在对象本身上。

注意:原型链的尽头是Object原型对象,它的隐式原型指向null

所有函数的原型对象都是Object的实例对象,也就是函数的显示原型默认值是空的Object实例对象。而这个空的Object实例对象的隐式原型指向的就是Object原型对象。即所有函数的显示原型对象的隐式原型都指向Object原型对象。但是Object除外。因为Object显示原型对象的隐式原型指向null

函数的原型对象Function prototype默认是空的Object实例对象原型

instanceOf

A instanceof BA是实例对象,B是构造函数。

问:instanceof是如何判断的?

答:如果构造函数B的显示原型对象,在实例对象A的原型链上,则返回true,否则返回false