![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前端
悠哉码农的日常
这个作者很懒,什么都没留下…
展开
-
手写一个Promise
const PENDING = "pending"; const RESOLVED = "resolved"; const REJECTED = "rejected"; function MyPromise(fn) { // 保存初始化状态 var self = this; // 初始化状态 this.state = PENDING; // 用于保存 resolve 或者 rejected 传入的值 this.value = null; // 用于保存 resolve 的原创 2022-03-13 18:30:22 · 154 阅读 · 1 评论 -
JS树形数据结构,可无限递归
源数据: let menuList = [ { id: 1, title: "菜单1", parent: 0, }, { id: 2, title: "菜单2", parent: 0, }, { id: 3, title: "菜单1-1", parent: 1, }, { id: 4, title: "菜单1-2", parent: 1, }, { id: 5,原创 2022-02-20 16:02:31 · 613 阅读 · 0 评论 -
js通过Set对象实现数组去重
上一次用了Map的方式对数组去重:es6通过Map对象对数组去重 偶然发现Set对象更加容易 const arry = [1, 2, 1, "1", "2", "1"]; console.log(Array.from(new Set(arry))); Array.from()方法就是将Set转为数组,对于这个对象的使用方式,下一篇在讲。 ...原创 2021-04-15 16:09:02 · 667 阅读 · 0 评论 -
js的防抖与节流的简单实现
防抖 所谓防抖,就是如果短时间内大量触发同一事件,只会执行一次函数。 节流 给用户一个触发事件的时间间隔,类似于游戏里面技能的冷却时间,触发之后过了一定时间之后才能在次点击。 防抖和节流都是对定时器的使用。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge">原创 2021-04-15 15:11:13 · 295 阅读 · 0 评论 -
js对象深拷贝的实现
//使用递归的方式实现数组、对象的深拷贝 function deepClone(obj) { //判断拷贝的要进行深拷贝的是数组还是对象,是数组的话进行数组拷贝,对象的话进行对象拷贝 var objClone = Array.isArray(obj) ? [] : {} //进行深拷贝的不能为空,并且是对象或者是 if (obj && typeof obj === 'object') { for (key in obj) { i原创 2021-04-15 13:38:35 · 172 阅读 · 0 评论 -
cookie,sessionstorage,localstorage区别
最近被问到cookie,sessionstorage,localstorage区别,我顿时蒙了,在这之前,我一直只用过他们来存储数据,相同点了解,但是这区别吗,还没怎么了解过,所以今天记录下。 cookie sessionstorage localstorage 存储大小 <=4k 5M 5M 有效时间 可设置有效时间 关闭标签页或者浏览器时失效 可永久存储在浏览器里 数据与服务器交互方式 每次发送请求都会自动携带cookie的内容 不会自动与服务器交互 不会与自动与服务器交原创 2021-03-09 05:45:23 · 163 阅读 · 0 评论