es6是新一代的javascript标准,以前讲的是es5的语法。es6以后的各个版本均可以称之为es6由于它们都是在es6的基础上作少许更改javascript
以前声明变量都是用var去声明变量,使用var去声明变量有变量提高的问题。若是在声明变量以前去使用变量不会报错变量的值是undefinde。java
建议使用es6提供的如下两种方法去声明变量:ios
let 例子:let 变量名=变量的值es6
const 例子:const 变量名=变量的值编程
使用let去声明的变量在没有声明以前去使用变量会直接报错,且不要使用let去声明同一个变量使用let去声明同一个变量会报错axios
使用const声明的变量不能从新赋值不然会报错,且使用const声明引用值时能够改变值里的内容,但不能改变引用值在堆内存中的地址不然会报错,promise
注:使用let和const声明的变量都拥有块级做用域而var声明的没有dom
以前的函数声明:异步
function 函数名 () {}异步编程
箭头函数:
函数名=(参数) => {}
事件函数的this指向对应绑定该事件的dom对象。对象中的方法的this 指向该对象。普通函数调用时直接指向window。箭头函数的this指向箭头函数建立时所在环境的this,
... 就是扩展运算符
使用方法:...变量名
例: let arr=[1,2,3,4,5] let arr1=[...arr,6,7,8] 这样arr1里边就有了arr的内容
在js中咱们常常会用到回调函数,也就是当某种操做进行完或者知足某个条件时以后咱们再去调用某个函数,那么这个函数就叫作回调函数,回调函数是能够嵌套的那么当咱们的回调函数嵌套多层时就会产生一种叫作“回调地狱”的问题。
什么是promise?
promise是一个构造函数,promise是一种异步编程的解决方案。它有三种状态分别是pedding-(进行中),resolve-(已完成),reject-(已失败),只有异步操做的结果才能够决定当前是哪一种状态其余任何操做都改变不了当前的状态。promis的状态改变只会改变两种就是从pedding至resolve的状态和pennding至seject的状态。有了promise就会将异步操做由同步操做展示出来,axios请求就是基于promise的。
}) promise中有两个方法: promise.then(()=>{ 函数体
}).catch(()=>{
函数体
复制代码
});
当咱们在函数中去使用promise时能够这样
}
asd().then(()=>{这里就是知足条件时执行的代码}).catch(()=>{这里是失败时执行的代码})
当咱们想要再去调用的话能够再.then()的函数里继续return而后继续再.then()后边继续.then()
咱们的axios请求就是这样的原理这样就完成了将异步变为同步的操做只有当上一哥函数完成以后才会执行下一个函数