原型
原型链
作用:是用来查找属性的。即读取对象的属性值时,如果对象本身上没有,则会去原型链上查找。设置对象的属性值时,不会查找原型链, 如果当前对象中没有此属性, 直接添加此属性并设置其值。 方法一般定义在原型中, 属性一般通过构造函数定义在对象本身上。
注意:原型链的尽头是Object
原型对象,它的隐式原型指向null
。
所有函数的原型对象都是Object
的实例对象,也就是函数的显示原型默认值是空的Object
实例对象。而这个空的Object
实例对象的隐式原型指向的就是Object
原型对象。即所有函数的显示原型对象的隐式原型都指向Object
原型对象。但是Object
除外。因为Object
显示原型对象的隐式原型指向null
。
函数的原型对象Function prototype
默认是空的Object实例对象。
instanceOf
A instanceof B
:A
是实例对象,B
是构造函数。
问:
instanceof
是如何判断的?
答:如果构造函数B
的显示原型对象,在实例对象A
的原型链上,则返回true
,否则返回false