目录
9:Promise中的then是同步的还是异步,简单描述下执行机制。
14:iterator的作用是什么,如何添加iterator接口。
16:简述下数组中find()和findindex()方法是干什么的。
1 .主流的浏览器都已经全面支持ES6
2.行业内较新的前端框架都已经全面使用ES6的语法
3.微信小程序,uni-app等都是基于ES6的语法
4.从就业出发,中小型公司,全栈,简历上多一个技能,试用期也能更快的上手。
Let const 都是块级作用域
var是全局作用域
块机先声明后使用 不存在变量提升
Const 生命常量 必须赋值 地址不允许修改
Object.assign(obj1,obj)
{...obj,...obj1}
For in 遍历对象 k代表属性 建
For of 使用前操作元素要含有 iterator 接口
V代表值
箭头函数的this指代的是上下文环境 是静态的 不可变的
普通函数的this是指向调用者,谁调用指向谁
使用~ ~两个反引来定义 输出用${变量}
好处:1.可以直接当引号使用
2.内容可以直接出现换行符
3.变量拼接~${变量}~
相同点 :都对数组进行遍历
含有三个参数
不同点 : map是对数组中每一个元素进行操作
Filter是筛选符合条件的数组中的元素
Set: 类似于数组的一种数据类型
元素的内存地址不可相同,相同则自动去除,只留一个
成员的值都是唯一的,没有重复
语法: new Set()
Map: 是一种数据结构
他的建可以用对象来命名
二维数组 以键值对形似存储数据
异步,promise会返回一个成功或者失败的状态,根据promise的值做出相应的的操作
接受一个函数作为累加器,数组中的每一个值(从左到右)开始缩减,最终计算为一个值
Super :调用父类函数
Get :获得属性
Set :设置修改属性
优点:async/await 相比较promise的then方法处理返回的状态代码结构更加清晰
缺点:滥用 await 可能会导致性能问题,因为 await会阻塞代码,也许之后的异步代码并不依赖于前者,但仍然需要等待前者完成,导致代码失去了并发性
为for…of…而存在,仅提供for..of…遍历
[Symbol.iterator](){
let index = 0;
return {
next:() => {
if(index < this.arr.length){
const result = {value : this.arr[index],done : false};
index++;
return result;
}else{
return {value : undefined,done : true}
}
}
}
}
sessionStorage :
localStorage:
Find()查询第一个符合条件的元素,短路
FindIndex()查询第一个符合条件的元素的下标索引,短路
//声明一个变量并赋值
const keyName = 'keyname';
//创建一个对象
const obj = {};
//动态给对象添加数据 ,添加key值并赋值
obj[keyName] = '张三'
console.log(obj);