1. 每个构造函数在生成实例的时候,实例上都会带有一个constructor属性,该属性指向它的构造函数。
2. JavaScript规定,每个构造函数都有一个prototype属性,它指向的是原型对象,原型对象上的属性和方法都会被构造函数的实例所继承。
3. JavaScript在创建对象的时候,无论是普通对象还是函数对象,都有一个叫做__proto__的内置属性,用于指向创建它的函数对象的原型对象prototype。
4. Object.prototype.proto === null
5. instanceof
当我们在判断一个变量的数据类型的时候,一般用typeof来判断,但是typeof只能判断出原始值的数据类型,而引用值的数据类型则会返回object,导致无法判断其具体的引用值类型。instanceof便解决了这个问题。
instanceof有两个作用:
1. a instanceof b 判断a是否是b类型的
2. a instanceof b 判断a的原型链上是否存在b的原型