争对上两篇遗留的问题构造函数和Object构造函数__proto__属性执行的问题,我们可以分析出最终他们的原型链(即对象原型的对象原型)最后肯定会执行null不然就会一直指向下去
最终版原型链
构造函数和Object构造函数指向的同一个原型对象(Function构造函数的原型对象),而这个原型对象的__proto__属性指向的Object的原型对象上,而Object的原型对象的__proto__指向的是null,而Function函数的__proto__属性和prototype属性指向的是同一个原型对象。
总结
从上述的几篇文章分析,最终不会让__proto__一直指向下去的原理,而是通过以下几点:
1.构造函数和Object构造函数指向同一个原型对象
2.构造函数和Object构造函数指向的同一个原型对象他的__proto__属性又指回Obeject的原型对象上在指向null
3.Function构造函数的prototype属性和__proto__属性都指向构造函数和Object构造函数指向的原型对象
在下面几篇中将会揭露原型链在JS中的作用!