前端-JavaScript-函数内存分析

前端-JavaScript-函数内存分析

函数是一种特殊的对象,它是引用数据类型/复杂数据类型,存储在堆中,对函数的引用(指针)存储在栈中。一个函数有两块内存,一块表示函数本身,另外一块表示原型。
在这里插入图片描述

如图,
栈中存放类和对象的引用/指针;
B01中存放静态方法/类方法,可以通过类名调用;
B02中存放非静态方法/实例方法,通过对象调用;
B03为实例obj的实际地址,其中有_proto_方法。

把构造函数想象成母亲,其中的prototype用于指示自己的丈夫是原型对象;
把原型对象想象成父亲,其中的constructor用于指示自己的妻子是构造函数;
把实例想象成儿子,是因为他是类Obj的实例,图中可以增加一个B03指向B02的箭头,用于形容儿子只能调用老爸的方法(老爸有多强,儿子就有多强),而不能调用妈妈的方法。

总结,构造函数可以实例化对象,并且为对象提供的公共的方法,对象可以调用其构造函数原型中的方法。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值