前端初级
前端初级
荏苒的苒
要一直努力,才能看起来毫不费力啊
展开
-
手写Promise
/** * author:lsr * desc:手写Promise * date:20220118 */class MyPromise { state = 'pending' value = undefined reason = undefined resolveCallbacks = [] rejectCallbacks = [] constructor(fn) { const resolveHandler = (value) => { if (原创 2022-01-18 19:25:28 · 333 阅读 · 0 评论 -
Map和Object区别
区别:API不通,Map可以以任意类型为keyMap是有序结构(重要)Map操作同样很快// object// const obj = {// name: '张三',// title: 'Author'// }// 只能以字符串为key,且是无序格式// map Apiconst m = new Map([ ['name', '张三'], ['title', 'Author']])m.set('age', 30)m.delete('title')m.has('name原创 2022-01-13 15:47:06 · 430 阅读 · 0 评论 -
WeakMap和WeakSet
弱引用,防止内存泄漏WeakMap只能用对象作为key,WeakSet只能用对象做value没有forEach和size// const obj = {}// function fn() {// const innerObj = { name: '张三' }// obj.innerObj = innerObj // 强引用// }// fn()// 垃圾清理机制,是一个标记清除的机制(引用计数),数据没有用时会被清除,但是当还被一些没有被清除的变量引用时,不会被清除。// 如果没有 .原创 2022-01-14 14:44:15 · 164 阅读 · 0 评论 -
Set和Array的区别
API不同Set元素不能重复Set是无序结构,操作很快// const arr = [10, 20, 30, 40, 50]// Set Apiconst s = new Set([10, 20, 30, 40])s.add(50)s.delete(10)s.has(20)s.sizes.forEach(val => console.log(val)) // value// Set元素不能重复// 数组去重[...new Set(array)]// 字符串去重[..原创 2022-01-13 20:03:57 · 1428 阅读 · 0 评论