前端
悠哉码农的日常
这个作者很懒,什么都没留下…
展开
-
手写一个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 · 144 阅读 · 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 · 596 阅读 · 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 · 662 阅读 · 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 · 289 阅读 · 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 · 170 阅读 · 0 评论 -
cookie,sessionstorage,localstorage区别
最近被问到cookie,sessionstorage,localstorage区别,我顿时蒙了,在这之前,我一直只用过他们来存储数据,相同点了解,但是这区别吗,还没怎么了解过,所以今天记录下。cookiesessionstoragelocalstorage存储大小<=4k5M5M有效时间可设置有效时间关闭标签页或者浏览器时失效可永久存储在浏览器里数据与服务器交互方式每次发送请求都会自动携带cookie的内容不会自动与服务器交互不会与自动与服务器交原创 2021-03-09 05:45:23 · 160 阅读 · 0 评论