对象中prototype与__proto__与从cinstructor的作用和区别

Posted undefined-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象中prototype与__proto__与从cinstructor的作用和区别相关的知识,希望对你有一定的参考价值。

首先先要知道prototype什么时间才会有

只有在创建函数的时候,每当函数创建的时候才会原型prototype,还有一个constructor,这个不是函数独有的,对象也有

下面就来说说对象prototype与__prototype的区别

首先用函数构造器实例化一个对象,注意这里实例化后的obj是没有prototype的,

 

但是obj有__proto__ 那么我们就来看看obj的__proto__与obj的constructor是什么

 

这里明显可以看出obj.__proto__指向的是构造器fun的原型,obj.constructor指向的是函数构造器,也就可以判断这个对象是那个函数构造器的实例化

另外还得出一个结论

那么再来看看构造器的__proto__与consytuctor,以下的案例可以明显的看出函数构造器fun指向的都是Function

 

 

 通过以上的案例,下面我们来实现一个小小的继承

 

首先obj1.__proto__指向的是fun的函数构造器的原型(fun.prototype)

fun.prototype指向的是o这个对象,o的__proto__指向的是Object.prptotype,Object的__proto__指向的是null,因为Object是顶级的

 

 

以上是关于对象中prototype与__proto__与从cinstructor的作用和区别的主要内容,如果未能解决你的问题,请参考以下文章

prototype与__proto__

JavaScript oop proto与prototype原型图

prototype与__proto__区别

Javascript之 __proto__ 与 prototype

JS中的prototype__proto__与constructor

理解js中的原型链,prototype与__proto__的关系