JS完整版原型链剖析之最基本的原型链

1. __proto__属性

通过new 构造函数得到一个实例对象,而JS中每个对象身上都有一个属性**proto**,该属性值指向该对象的对象原型上

2. constructor属性

对象的对象原型上有一个constructor属性用来指向对应的构造函数

3. prototype属性

JS中每个构造函数身上都有一个属性prototype,用来指向构造函数的原型对象。对于同一个构造函数他的多个实例对象都指向同一个对象原型,也就是该构造函数的原型对象,(这里的名词可能有点绕,记住构造函数的prototype属性和该构造函数的实例对象的__proto__属性是指向同一个对象)

4. 最基本的原型链

构造函数通过new来创建实例化对象,实例化对象通过__proto__属性执行原型,当然一个构造函数也可以实例化多个对象,但都是指向同一个原型。构造函数和原型分别通过prototype属性和constructor属性来相互的指向,形成了最基本的原型链.但同时也引发了我们的一系列思考,要知道js世界中,万物皆对象,就连数字也是一个包装类型的对象,所以构造函数和原型也都是对象,那么问题来了,他们的__proto__属性又指向谁呢?

JS完整版原型链剖析之最基本的原型链

关注笨笨的熊