原型与原型链(1),该理解的一个都跑不掉

大家好,我是小雅!

关于原型与原型链,网上也有很多资料,也有JS书籍说到了相关概念,往往书籍上说的都比较难以理解,这篇写详细的过程。

__proto__属性

很多朋友都见过这个属性,特别是在前端开发的时候用浏览器调试时会看到它。概念:JS中,创建对象时,都会自动生成一个内置的属性,这个属性就是__proto__。

__proto__这个属性的值是:指向创建这个对象的构造函数的原型对象。这里不清楚原型对象的可以看上一篇文章。

要理解这个属性值,得先知道构造函数,这里就不多说关于它的概念了,之前说过很多了。直接写一个构造函数用做案例,下面都会用到它。

function Car () {
this.name = 'benchi';
}

现在生成一个对象,如下:

var car1 = new Car();

构造函数Car的原型对象是Car.prototype,car1的__proto__属性又指向该构造函数的原型对象,所以可以得出:Car.ptototype = car1.__proto__。

整个的关于图如下:

上图引用的是高级程序设计书籍中的逻辑图,与本文的例子只是构造函数名称不一样,其它同理。整个理解并不完整,理解需要花时间,一点点来积累,后续会更新!

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();