首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
lodash
订阅
zeroJ
更多收藏集
微信扫码分享
微信
新浪微博
QQ
22篇文章 · 0订阅
打造属于自己的underscore系列 ( 一 ) - 框架设计
我们知道,函数声明的形式会挂载到window对象作为方法存在,而函数表达式的形式则会挂载在window对象作为属性存在,这都会造成变量污染,而自执行函数的好处在于可以防止变量的污染,函数执行完后便立刻销毁掉。 underscore有两种风格形式可以使用,一种是面向对象类型,另一…
理解Underscore中的uniq(数组去重)函数
uniq函数,是Underscore中的一个数组去重函数,给它传递一个数组,它将会返回该数组的去重副本。 这是目前而言最快速简介的数组去重方法。但是由于浏览器兼容问题,目前ES6还没有完全普及,这样的方法可能在老旧版本的浏览器当中无法起到作用。所以我们还是需要使用ES5来实现。…
lodash源码分析之数组的差集
baseDifference 可以用来获取指定数组与另一个数组的差集。 这个函数是内部函数,是后面实现其它比较函数的核心函数。 第一和第二个参数是需要比较的两个数组;iteratee 可以返回一值映射值,比较时,可以使用映射的值来进行比较; comparator 是自定义比较函…
lodash源码分析之NaN不是NaN
本篇分析的是 eq 函数。 eq 函数用来比较两个值是否相等。遵循的是 SameValueZero 规范。 a. 如果 x 为 NaN ,返回 false b. 如果 y 为 NaN ,返回 false c. 如果 x 和 y 的数值一致,返回 true d. 如果 x 为 +…
【进阶4-4期】Lodash是如何实现深拷贝的
在上一篇文章中介绍了如何实现一个深拷贝,分别说明了对象、数组、循环引用、引用丢失、Symbol 和递归爆栈等情况下的深拷贝实践,今天我们来看看 Lodash 如何实现上述之外的函数、正则、Date、Buffer、Map、Set、原型链等情况下的深拷贝实践。本篇文章源码基于 Lo…
打造属于自己的underscore系列 ( 二 ) - 数据类型诊断
2.1. isArray - 判断数组 前面的两个方法或多或少存在缺陷,低版本浏览器不支持ES5 Array.isArray()的新方法,而instanceof 判定规则在跨iframe 中也存在问题。比如,一个页面(父页面)有一个框架,框架中引用了一个页面(子页面),在子页面…
JS函数节流和函数防抖
1.为什么需要函数防抖和函数节流?2.什么是函数防抖和函数节流2.1函数防抖(debounce)2.2函数节流(throttle)3.应用场景类型场景函数防抖1.手机号、邮箱输入检测2.搜索框搜索输入
利用Underscore求数组的交集、并集和差集
数组的交集是指包含多个数组中的共同元素的一个数组,求数组的交集就是找出给定数组中的共有元素。 下面实现一个求两个数组交集的函数。 判断数组是够包含指定值,使用Array.indexOf就可以。所以我们可以遍历第一个参数数组,然后使用Array.indexOf方法检索第二个参数数…
如何 clone 一个正则?
通过这段代码,我们顺便复习一下 JS 正则对象的部分知识。 首先,regexp.constructor 就是 RegExp。 了解 JS 原型相关知识的话,这一点应该没问题。 具体说来,/xyz/gim 是正则字面量,是构造函数 RegExp 的实例。/xyz/gim 取 co…
lodash源码分析之Hash缓存
Hash 顾名思义,就是要有一个离散的序列,根据 key 来储取数据。而在 javascript 中,最适合的无疑是对象了。 Hash 在 lodash 的 .internal 文件夹中,作为内部文件来使用。lodash 会根据不同的数据类型选择不同的缓存方式,Hash 便是其…