js中__proto__ 和prototype 的区别

__proto__ 是对象才具有的一个属性,用来暴露内部的prototype。因为js中字面量对象都是 new Object() 函数创建的 对象字面量的内部就是Object,所以js中: 字面量对象.__proto__=== Object.prototype

而将prototype作为属性(原型对象)是(构造)函数独有的。对象虽然没有原型对象,但是可以通过__proto__暴露内部自己本来就有的prototype

需要注意的是 js中的 Function 也是对象 。 Function.__proto__ != Funtion.prototype  因为一个是内部的prototype 一个是原型对象prototype

 

posted @ 2022-07-06 23:09  方方面  阅读(107)  评论(0)    收藏  举报