ES6基础

简介:

es6是新一代的javascript标准,之前讲的是es5的语法。es6之后的各个版本都可以称之为es6因为它们都是在es6的基础上做少量更改

声明变量:

之前声明变量都是用var去声明变量,使用var去声明变量有变量提升的问题。如果在声明变量之前去使用变量不会报错变量的值是undefinde。

建议使用es6提供的以下两种方法去声明变量:

let 例子:let 变量名=变量的值

const 例子:const 变量名=变量的值

使用let去声明的变量在没有声明之前去使用变量会直接报错,且不要使用let去声明同一个变量使用let去声明同一个变量会报错

使用const声明的变量不能重新赋值否则会报错,且使用const声明引用值时可以改变值里的内容,但不能改变引用值在堆内存中的地址否则会报错,

注:使用let和const声明的变量都拥有块级作用域而var声明的没有

es6的箭头函数:

之前的函数声明:

          function 函数名 () {}

箭头函数:

          函数名=(参数) => {}

箭头函数的this指向的问题:

事件函数的this指向对应绑定该事件的dom对象。对象中的方法的this 指向该对象。普通函数调用时直接指向window。箭头函数的this指向箭头函数创建时所在环境的this,

es6的扩展运算符:

... 就是扩展运算符

使用方法:...变量名

例: let arr=[1,2,3,4,5]          let arr1=[...arr,6,7,8]                                         这样arr1里边就有了arr的内容

promise对象:

在js中我们经常会用到回调函数,也就是当某种操作进行完或者满足某个条件时之后我们再去调用某个函数,那么这个函数就叫做回调函数,回调函数是可以嵌套的那么当我们的回调函数嵌套多层时就会产生一种叫做“回调地狱”的问题。

什么是promise?

promise是一个构造函数,promise是一种异步编程的解决方案。它有三种状态分别是pedding-(进行中),resolve-(已完成),reject-(已失败),只有异步操作的结果才可以决定当前是哪种状态其他任何操作都改变不了当前的状态。promis的状态改变只会改变两种就是从pedding至resolve的状态和pennding至seject的状态。有了promise就会将异步操作由同步操作展现出来,axios请求就是基于promise的。

再使用promise之前我们要先实例化一个promise对象, const promise=new promise(function(reslove,reject){ 满足条件和不满足条件时分别执行reslove函数和reject函数 if(条件){ 这个reslove的函数的调用就时下边promise.then函数里的()里传递过来的函数 }else{ reject() 这个reject的函数的调用就时下边promise.then().catch函数里的()里传递过来的函数 }

}) promise中有两个方法: promise.then(()=>{ 函数体

}).catch(()=>{

函数体

});

当我们在函数中去使用promise时可以这样

function asd(){ 函数体; return new promise(reslove,reject){ if(条件){ reslove() }else{ reject() } }

}

asd().then(()=>{这里就是满足条件时执行的代码}).catch(()=>{这里是失败时执行的代码})

当我们想要再去调用的话可以再.then()的函数里继续return然后继续再.then()后边继续.then()

我们的axios请求就是这样的原理这样就完成了将异步变为同步的操作只有当上一哥函数完成之后才会执行下一个函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值