var、let、const
var
变量声明提升,函数声明也会被提升,并且优先于变量提升。
使用var声明的变量会被提升到作用域的顶部
let、const
全局作用域下,let和const声明变量,变量并不会挂载到window上。存在暂时性死区。
Promise-重新理解
Promise 是为了解决异步回调问题而存在的。
用法:
var promiseObj = new Promise((resolve,reject)=>{
// 一些异步的操作
})
参数是一个函数,这个函数有两个参数:resolve和reject。这两个参数分别是两个函数的名字,作用是将Promise的状态从pending分别变成fullfilled和rejected。
promiseObj有then的方法,所以可以写成:
promiseObj.then(function(){},function(){})
then方法,可以传两个参数,第一个是处理new Promise时异步操作成功的回调,第二个函数是异步操作失败的回调,第二个参数可省略。
async await
基本用法:
async函数返回一个promise对象,可以使用then方法添加回调函数。当函数执行过程中,遇到await会先返回,等到异步操作执行完,才会执行函数体内后边的语句。
愿我们有能力不向生活缴械投降---Lin