首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
lodash
订阅
wr1482651009000
更多收藏集
微信扫码分享
微信
新浪微博
QQ
18篇文章 · 0订阅
lodash源码分析之Hash缓存
Hash 顾名思义,就是要有一个离散的序列,根据 key 来储取数据。而在 javascript 中,最适合的无疑是对象了。 Hash 在 lodash 的 .internal 文件夹中,作为内部文件来使用。lodash 会根据不同的数据类型选择不同的缓存方式,Hash 便是其…
Lodash 源码中的那些迷人的细节
巧妙的函数实现吸引着你想去看看他的实现方法,里面会有更多奇思妙想让你欣喜若狂...
lodash源码分析之isObjectLike
其实就是使用 typeof 操作符,如果返回值为 object ,并且值又不为 null 时,就认为是类对象。 另外还有一点需要注意的,在由宿主实现的对象中,规范规定了不能返回 'undefined', 'boolean', 'number' 和 'string' 这几种类型,…
lodash相关技巧
所以primitive类型的value是immutable的,而variable是mutable的,对与primitive类型的变量,为其赋值,本质上就是让变量指向新的内存。
lodash源码分析之缓存使用方式的进一步封装
在之前的《lodash源码分析之Hash缓存》和《lodash源码分析之List缓存》介绍过 lodash 的两种缓存方式,在《lodash源码分析之缓存方式的选择》中介绍过这两种缓存方式和 Map 的封装,lodash 会根据缓存类型来选择最优的缓存方式。 但是在 MapCa…
lodash源码分析之数据类型获取的兼容性
在前文《lodash源码分析之获取数据类型》已经解释了获取数据类型的方法,但是在有些环境下,一些 es6 新增的对象获取到的类型都为 [object Object] ,这样就没办法做细致的区分。例如在 IE11 中,通过 Object.prototype.toString 获取…
lodash源码分析之List缓存
在之前的《lodash源码分析之Hash缓存》介绍过用 Hash 做缓存的情况,在这篇文章中介绍过,lodash 是想要实现和 Map 一样的接口。 Hash 其实是用对象来做缓存,但是对象有一个局限,它的 key 只能是字符串或者 Symbol 类型,但是 Map 是支持各种…
其实你不需要 Lodash/Underscore
Underscore 常用函数的原生 JS 实现
聊聊lodash的debounce实现
前段时间团队内部搞了一个代码训练营,大家组织在一起实现 lodash 的 throttle 和 debounce,实现起来觉得并不麻烦,但是最后和官方的一对比,发现功能的实现上还是有差距的,为了寻找我的问题,把官方源码阅读了一遍,本文是我阅读完成后的一篇总结。 throttle…
「读懂源码系列3」lodash 是如何实现深拷贝的(上)
上一篇文章 「前端面试题系列9」浅拷贝与深拷贝的含义、区别及实现 中提到了深拷贝的实现方法,从递归调用,到 JSON,再到终极方案 cloneForce。 不经让我想到,lodash 中的 _.cloneDeep 方法。它是如何实现深拷贝的呢?今天,就让我们来具体地解读一下 _…