今日内容:
解构赋值
解构数组 const arr=[1,2,3];
从数组中把值取出来放在三个变量中
let [变量1,变量2,变量3]=arr;
使用了let一次性声明多个个变量,按照顺序,把数组中的值取出来,赋值给对应的变量j
解构对象 const rst={key1:value1,key2:value2}
let {key1,key2}=rst;
声明一个多个变量为对象对象里的是相对应的健名;
解构函数参数
本质还是解构数组解构对象
参数形参是数组
function fn([a,b,c]){}
调用传参也是数组形式
fn([1,2,3])
参数是形参是对象
function fn({name,age,sex}){}
调用传参是对象
fn({name:11,sex:12});
模板字符串
解决字符串拼接问题
`字符串${变量名,表达式} 表达式:能够算出唯一结果的一句代码`
对象的简写
1.key和value相同,可以省略
2.对象中的方法可以省略function
ES6的类
语法
class 类名{
//构造函数
constructor(形参){
this挂载
}
//原型方法
方法名(){}
//静态方法
static 方法名(){}
}
//继承
class 子类 extends 父类{
constructor(所有参数){
super(继承父类的参数)
}
}
ES6模块化导入导出
方式一:单个暴露
export var name='1';
export function show(){}
导入
import {name,show()};
方式二
多个暴露
let name='1';
function skill(){}
export default{
name,
skill();
}
导入
import js文件名 from ‘js文件路径’
调用就是 文件名.变量名
Es6的模块化的优势 快
同步异步
同步:代码从上而下执行,后面的代码必须等前面的代码执行完毕,才能执行
异步:代码从上到下执行,遇到异步代码,异步代码会让开等待所有同步代码执行完毕后,才会执行异步代码
js中异步的情况
定时器的回调函数
事件处理函数
ajax的回调函数
Promise
作用 控制异步的顺序,解决回调地狱的问题
Promise有三种状态:进行中 已成功 已失败
调用resolve 进行中 成功
调用reject 进行中 失败
then:条件为真执行
catch:条件为假执行
finally:不管成功与否都会执行
|