js中__proto__和prototype的区别和关系?

喵啊喵啊喵
浏览 1553回答 2
2回答

萧雁翎

构造函数原型对象是一个引用类型 ,是一个对象,它保存在内存中的一个堆中, prototype指向这个堆,new出来的实例用_proto_也指向这个堆,并且通过这个_proto_来实现对堆的引用实现属性的添加。但是虽然此时两者恒等,因为都指向这个堆,但是两者并不是赋值的关系。两者并没有什么关系,他们只是通过这个堆让我们觉得似乎两者是一样的。比如现在假如让原型函数的prototype指向一个新对象,但是_proto_还是指向原来那个堆,这个实例属性是不变的。

最后一次改名字

1. __proto__是每个对象都有的一个属性,而prototype是函数才会有的属性。2. __proto__指向的是当前对象的原型对象,而prototype指向的,是以当前函数作为构造函数构造出来的对象的原型对象。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript