!
也想出现在这里? 联系我们
广告位
当前位置:首页>技术分享>网站运维>lodash内部方法getData和setData实例解析

lodash内部方法getData和setData实例解析

getData方法主要是获取方法的元数据metadata。getData实现上借助metaMap和noop两个内部方法。

lodash内部方法getData和setData实例解析

metaMap

metaMap方法获取当前环境下的WeakMap对象。

WeakMap

getNative方法和root变量在之前的篇章介绍过,主要是获取环境变量和全局方法。

源码如下:

noop

noop主要是获取undefined的返回结果。

源码如下:

getData源码实现

setData

setData方法可以设置参数func的元数据。

参数说明:

参数1:表示要关联元数据的函数参数2:表示对元数据进行数据处理。

setData实现上需要借助两个内部方法,分别是:baseSetData和shortOut。

baseSetData

baseSetData是setData的基本实现,通过Map对象存储函数与数据的映射关系。

实现上借助identity方法和metaMap方法,identity方法在之前篇章中介绍过,主要是代表函数一种调用关系,该方法返回参数。metaMap方法主要是调用Map对象,这个方法在上面getData里已经介绍过了。

metaMap

shortOut

shortOut方法用于按照毫秒范围内的调用数检测热函数,可以创建一个函数,该函数将缩短并调用identity方法。

实现上通过闭包计数,只有满足调用的时间差小于HOT_SPAN时才会进入后续判断,否则count初始化为0,并且直接返回原函数以及参数关系等。

在后续处理中只有count满足大于等于HOT_COUNT时直接返回arguments[0]。

源码如下:

setData源码实现

给TA打赏
共{{data.count}}人
人已打赏
网站运维

WordPress 主题添加视频分类页面模板

2022-9-6 12:33:31

网站运维

Java实现手写自旋锁的示例代码(java自定义锁)

2022-9-6 14:31:04

声明 本站上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。无意侵害您的权益,请发送邮件至 2651636361@qq.com 或点击右侧 私信:少羽 反馈,我们将尽快处理。
0 条回复A文章作者M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索