prototype和__proto__的关系是什么

所有的对象都拥有__proto__属性,它指向Object.prototype(Object是一个原生函数,所有的对象都是Object的实例)

let obj = {}
obj.__proto__ === Object.prototype  //true

所有的函数都同时拥有__proto__和prototype属性 函数的__proto__指向自己的函数实现 函数的prototype是一个对象 所以函数的prototype也有__proto__属性 指向Object.prototype

function func(){}
func.prototype.__proto__===Object.prototype  //true

Object.prototype.__proto__ 指向null

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容