一些小知识点

var、let、const

var

变量声明提升,函数声明也会被提升,并且优先于变量提升。

使用var声明的变量会被提升到作用域的顶部

let、const

全局作用域下,let和const声明变量,变量并不会挂载到window上。存在暂时性死区。

  • 函数提升优于变量提升,函数提升会把整个函数挪到作用域顶部,变量提升只会把声明挪到作用域顶部
  • var存在提升,可以在声明前使用。let 、const存在暂时性死区,不能在声明前使用
  • var 在全局作用域下声明变量会导致变量挂载在window上
  • let和const作用基本相同,但是const声明的变量不能再次赋值

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

  1. async表示函数里面有异步操作,await表示紧跟在后面的表达式需要等待结果
  2. async函数返回一个promise

基本用法:

async函数返回一个promise对象,可以使用then方法添加回调函数。当函数执行过程中,遇到await会先返回,等到异步操作执行完,才会执行函数体内后边的语句。

愿我们有能力不向生活缴械投降---Lin

本文分享自微信公众号 - 女程序员的日常(gh_df41d619fb70),作者:凛

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 实现小型打包工具

    hey,各位宝宝,最近的疫情很严重,大家尽量就不要到外面浪了,好好在家做个安静的宝宝吧。不得不出门时也一定要戴口罩哦!照顾好自己,望平安... ...

    用户3258338
  • 你真的会用css3的rem吗?

    之前做移动端开发的时候,都是用rem对DOM元素进行大小设置的。每次用的时候都是去网上搜,然后copy到自己的项目中,没有真正理解网友的代码含义。这次终于认真的...

    用户3258338
  • this怎么那么难呢?(接上篇-1)

    2019年12月22日,星期六。距离新年还有9天了,宝宝们可以提前想想2020年的目标了。也可以把目标留言在文章下方,目标说给别人听能起到督促自己的作用,不信你...

    用户3258338
  • JDK8中新增原子性操作类LongAdder

    LongAdder类似于AtomicLong是原子性递增或者递减类,AtomicLong已经通过CAS提供了非阻塞的原子性操作,相比使用阻塞算法的同步器来说性能...

    加多
  • cobbler自动安装系统(Centos7.X)

    环境: [root@kickstart ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (C...

    863987322
  • cobbler自动安装系统(Centos7.X)

    环境: [root@kickstart ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (C...

    863987322
  • httpclient发送https协议请求以及javax.net.ssl.SSLHandshakeException解决办法

    本人在做接口自动化的过程中,遇到了请求第三方https协议请求,在经过了短暂的知识重新学习之后,写完代码执行起来总是遇到一个异常,在用客户端执行请求的时候抛出来...

    八音弦
  • PHP中用PDO查询Mysql来避免SQL注入风险的方法

    当我们使用传统的 mysql_connect 、mysql_query方法来连接查询数据库时,如果过滤不严,就有SQL注入风险,导致网站被攻击,失去控制。虽然可...

    企鹅号小编
  • URI was not reported to parser for entity

     org.xml.sax.SAXParseException: URI was not reported to parser for entity [do...

    闵开慧
  • 自动的自动化:智能化测试框架EvoSuite的一个坑以及填坑方法

    最近在不断地学习和探索EvoSuite框架的时候,在生产JUnit单元测试框架后,出现如下问题:

    Criss@陈磊

扫码关注云+社区

领取腾讯云代金券