对象中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的作用和区别的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript oop proto与prototype原型图
Javascript之 __proto__ 与 prototype