模范爸爸|「干货满满」1.5w字初中级前端面试复习总结( 四 )
对ES6语法的了解常用:let、const、扩展运算符、模板字符串、对象解构、箭头函数、默认参数、Promise
数据结构:Set、Map、Symbol
其他:Proxy、Reflect
Set、Map、WeakSet、WeakMapSet:
- 成员的值都是唯一的 , 没有重复的值 , 类似于数组
- 可以遍历
- 成员必须为引用类型
- 成员都是弱引用 , 可以被垃圾回收 。 成员所指向的外部引用被回收后 , 该成员也可以被回收
- 不能遍历
- 键值对的集合 , 键值可以是任意类型
- 可以遍历
- 只接受引用类型作为键名
- 键名是弱引用 , 键值可以是任意值 , 可以被垃圾回收 。 键名所指向的外部引用被回收后 , 对应键名也可以被回收
- 不能遍历
- 箭头函数的this指向在编写代码时就已经确定 , 即箭头函数本身所在的作用域;普通函数在调用时确定this 。
- 箭头函数没有arguments
- 箭头函数没有prototype属性
Promise对象有三种状态 , 分别是:
- pending: 默认状态 , 只要没有告诉 promise 任务是成功还是失败就是 pending 状态
- fulfilled: 只要调用 resolve 函数, 状态就会变为fulfilled, 表示操作成功
- rejected: 只要调用 rejected 函数, 状态就会变为 rejected, 表示操作失败
浅拷贝浅拷贝是值的复制 , 对于对象是内存地址的复制 , 目标对象的引用和源对象的引用指向的是同一块内存空间 。 如果其中一个对象改变 , 就会影响到另一个对象 。
常用浅拷贝的方法:
- Array.prototype.slice
let arr = [{a:1}, {b:2}]let newArr = arr1.slice()
- 扩展运算符
let newArr = [...arr1]
深拷贝深拷贝是将一个对象从内存中完整的拷贝一份出来 , 对象与对象间不会共享内存 , 而是在堆内存中新开辟一个空间去存储 , 所以修改新对象不会影响原对象 。常用的深拷贝方法:
- JSON.parse(JSON.stringify())
JSON.parse(JSON.stringify(obj))
- 手写深拷贝
function deepClone(obj, map = new WeakMap()) {if (obj === null || typeof obj !== "object") return obj;const type = Object.prototype.toString.call(obj).slice(8, -1)let strategy = {Date: (obj) => new Date(obj),RegExp: (obj) => new RegExp(obj),Array: clone,Object: clone}function clone(obj){// 防止循环引用 , 导致栈溢出 , 相同引用的对象直接返回if (map.get(obj)) return map.get(obj);let target = new obj.constructor();map.set(obj, target);for (let key in obj) {if (obj.hasOwnProperty(key)) {target[key] = deepClone(obj[key], map);}}return target;}return strategy[type]let later = (arg) => setTimeout(()=>{func.apply(ctx, arg)timer = ctx = null}, wait)return function(...arg){if(!timer){timer = later(arg)ctx = thisif(immediate){func.apply(ctx, arg)}}else{clearTimeout(timer)timer = later(arg)}}}
节流节流用于减少函数请求次数 , 与防抖不同 , 节流是在一段时间执行一次 。
- 小机灵鬼|干货速来!透彻剖析微服务架构设计模式,深入开发Java有奇效
- 钱江晚报|小学生给天上的爸爸写信:我为有这样的爸爸感到自豪,如果你在该有多好啊
- 美容|蒋依依分享护肤干货,网友纷纷不理解:20岁不到就要抗衰老了?
- 跳空缺口|干货:A股经典缺口理论,看懂炒股事半功倍!
- 宝宝红屁股咋办?爱得利高能干货来支招~
- 向太否认郭碧婷已生女|捕风捉影!向太否认郭碧婷已生女 郭碧婷爸爸美食招待向佐
- 掌握珍爱APP里的脱单干货,你也可以成为平平无奇的恋爱小天才
- 郭碧婷爸爸美食招待向佐|郭碧婷爸爸美食招待向佐 郭碧婷和向佐领证了吗?
- 郭碧婷爸爸美食招待向佐|给半子!郭碧婷爸爸美食招待向佐心情大好 翁婿感情十分融洽
- 女孩|宠物狗咬伤小女孩,达成调解协议后,狗却被女孩爸爸摔死