js的原型对象

一、
1、Foo是一个函数,那么它会有一个显示原型对象:Foo.prototype
Foo.prototype来自哪里
答案:创建了一个函数,Foo.prototype={constructor:Foo}

2、Foo是一个对象,那么它会有一个隐式原型对象:Foo.__proto__
Foo.__proto__来自哪里
答案:new Function()   Foo.__proto__=Function.prototype
Function.prototype={constructor:Foo}

二、
1、函数:显示原型(prototype,指向自己的原型对象)和隐式原型(__proto__,找老大,就是new出来后面的那个)
2、对象:隐式原型(__proto__,找老大,就是new出来后面的那个)

三、总结:
1.prototype指向自己的原型对象

2.__proto__指向老大的原型对象

(1)function Foo()的老大:Function帮忙new出来的
(2)const obj={} 的老大:Object帮忙new 出来的
(3)let stu=new Student()的老大:Student帮忙new出来的

posted @ 2021-12-07 08:36  Wayhome'  阅读(46)  评论(0编辑  收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css