JS中构造函数、实例对象和原型对象三者之间的关系

JS 专栏收录该内容
4 篇文章 0 订阅

1、首先需要明白一个知识点:一个需要共享并且通过实例对象调用的方法,是在构造函数的原型对象中的。(实例对象原型__proto__指向构造函数的原型,即prototype)

    

通过查看join方法得到,join是在构造函数的原型对象中的。

2、进入正题,开始解释:

(1)实例对象通过构造函数进行创建,原型对象是有了构造函数就会产生的。

(2)构造函数中的属性通过结构(dir)查看时不在构造函数中而是在实例对象中的,构造函数里有个原型对象(prototype),原型对象里有个构造器(constructor),指向构造函数。下图查看构造函数的结构。

(3)添加代码查看实例对象的结构(上图注释放掉)

(4)__proto__和prototype的指向是相同的,原型对象中的方法可以被实例对象所共享。

实例对象中没有方法,但是可以调用,是因为实例对象的原型__proto__指向了构造函数的原型对象(桥梁),所以可以调用。

(5)方法的调用原来是可以通过per.__proto__.eat()来调用,但是因为__proto__是给浏览器看的,并不是标准的,所以用per.eat()来调用。

 

以上属于个人学习总结,有误之处,还请指正。

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值