解构其实还可以用于数组的结构 , 例如React 16.8 新推出的hook特性 , 如果是一个数组使用解构的话 , 是不局限于变量名 , 是根据索引进行解构的 。
说一下数组的常用方法
pop()删除最后一项
map()循环数组 , 具有返回值 ,不会对原数组造成影响
filter()筛选数组 , 具有返回值 ,不会对原数组造成影响
shift()删除第一项
unshift()向数组的头部添加元素 。
forEach循环数组 , 对原数组会造成影响
splice切割数组
map的循环是不会对原数组造成影响的 。 map的底层其实是嵌套的for循环 。
其实使用forEath和map , 主要是根据场景进行使用的 。
说下你对Promise的理解 , Promise与 async await的区别Promise 是JS对异步的一个解决方式 , 可以通过.then的方式去获取执行成功的结果 , 也可以通过rejected去捕获错误 。
Promise.all() 会等所有的异步执行结束后才会返回
Promise.race() 一个执行完毕机会返回结果
Promise 和 async await 都是JS对异步的解决方案 , 对于Promise来说 , 我们如果在一个逻辑里面频繁的处理异步现成 , 可能会导致回调地狱的出现 。 而且Promise的写法也不够简洁 。 async await 对于我们来说 , 在代码方法 , 是不会造成回调地狱的 , 而且代码会更简洁 。 同时 async await 可以通过try catch捕获错误 。
可以说下你对for of 和for in 的理解吗
for..in迭代的是对象的键的列表for in 可以遍历对象 , 数组 , 字符串类型 。
- 遍历对象 key 是键
- 遍历数组 key 是索引
- 遍历字符串 key 是下标
- 其他类型无法进行判断
for..of则迭代对象的键对应的值for of 可以遍历对象 , 数组 , 字符串类型 。
- 遍历对象 要通过
Object.keys()进行转化
- 遍历数组的是数组的值
- 遍历字符串的是字符串的单个值
- 其他类型无法进行判断
ES6新推出了Set方式 , 我们可以通过Set 方式去达到一个去重的目的 。 但是Set以后返回的是一个Set对象 , 这个Set对象可以使用forEach方法 , 但是不可以使用map方法 , 如果要使用map方法 , 我们需要通过
Array.from(arr)去将其转化成一个数组说一下你对原型链的理解原型链基本分为三个部分
- 构造函数
- 实例
- 原型对象
每个实例都可以通过proto去向上寻找自己的原型对象 , 直到找到null 原型链结束
说一下什么是闭包闭包是指有权访问另一个函数作用域中的变量的函数
闭包可能会导致内存泄漏 , 循环调用的变量并不能被浏览器的GC算法所识别并回收 , 需要开发者手动将这个变量设置为null , 才可以进行内存释放 。
- 零售业|确定涨价!iPhone14四款新机全面涨价!国行也在其中!
- 土耳其发现四肢爬行人群,这是咋回事?科学家警告:人类要留心了
- 苹果要大涨价!iPhone 14量产工作就绪:四款齐发 供应商已出货
- 跳水|陈芋汐全红婵包揽女子十米台金银牌:全红婵四跳近乎完美
- 第四大运营商|第四大运营商登场!中国广电官网上线:开启选号
- 二叠-三叠纪大转折时期的四足动物
- 宇宙中有多少维度,人类为何想要进入四维空间?科学家给出了解释
- 苹果|苹果要大涨价!iPhone 14量产工作就绪:四款齐发 供应商已出货
- 古代五个不可思议的科技产品,第四个看了谁不骄傲!
- 黄渤让四位导师演戏演到崩溃,王一博撒娇,钟汉良一秒入戏
