• 与或非实习day21


    今天是Es6的一天;

    1.let和const命令

      作用域,命名规则,一般不要乱重复;变量提升;要注意的就是这三个地方

      用法还是一样的,只是说应该更注意作用域和变量的声明

      1.函数作用域(var)和块级作用域(let,const)就是{} if for 这些{}都是块级作用域

      2.var是可重复定义的,let 和 const 是不可以的。 然后let是可以重新赋值的,而const一般声明常量的。所以不能重新赋值的

      3.引用类型的值,看来还得重新看一下数据类型了 
      4.setTimeout(),是异步的操作;就比如在一个for循环中防一个一秒之后才执行的函数。那么for循环肯定会先执行完成。然后这个setTimeout也会执行多次的

      5.let解决for循环中值的问题的。  

      6.最后我怎么用那个进行变量声明呢?尽量使用const let 吧  在es6中少用var!var 会造成,变量提升,命名重复,变量声明赋值覆盖的问题

    2.箭头函数

      1.好处:不绑定this,隐式返回(只有一个返回值的时候)它是匿名函数;匿名函数通常会把值给一个变量

      2.删掉function关键字,多个参数逗号分隔

      3.内置函数的this指向是window,而方法的指向是这个实例;当我们使用的箭头函数就不用考虑这个问题了

      4.然后呢有一个经常的解决方式就是在他们之前定义let that = this; 然后引用这个that,然后现在我们只需要引用箭头函数就可以忽略这个问题  改变this值的方式

      5.在箭头函数中,this会指向父级的作用域

      6.函数参数的默认值,意思是当为undefined的时候,就用默认的值   a = a || 3;

      7.es6中提供的参数默认值:(a=8,b=8) 调用的时候可以给不写就是默认的,如果写了b,但没写a。那么要写上a=undefined;

      8.那些情况写不允许使用箭头函数的,箭头函数式不会执行绑定的。如:var bul = getElementById(“id”) bul.addEventListener('click',()=>{this.classList.remove})

        在这里这个this就不是bul这个对象了。用箭头函数,就是说我不想用他自己带的this的时候,就用箭头函数,这样这个箭头函数的this就会指向外边。使用对象就会涉及这个this,所以使用箭头函数的时候要注意一点  

    这里的两个function都不允许

     这个是第一个函数的时候我们需要this,所以不能使用箭头函数;第二个是,我们不需要使用定时器自己的this。所以可时候箭头函数改变this的指向,让它指向外部

    这个Array.from()是把这个变成一个真的数组()

    Array.from() 方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。

     什么时候不要使用箭头函数:记住这两种方式就好了,因为目前比较的能理解这两种方式吧:1.创建实例的时候  2.想真的时候this的时候,就是想时候绑定的对象的时候

    3.字符串模板(也就是字符串组合)

      1.要用反引号扩起来,然后变量要用${}。  

    4.新增的字符串方法

      .startsWith()

      .endsWith()

      .includes()

      .repeat()(字符串重复的次数)

    5.对象解构

      回滚默认值,对象解构:能快速的从对象中获取到我们的想要的属性和值,然后也可以给变量重名,和给默认值。

      

     6.数组的解构

      获取数组中多个值的方式

      1.解构的时候数组用的[],对象用的是{}

      2.交换变量的值

    7.提供的循环方式

      循环一个数组的几种方式;

      1.用for循环,但是比较繁琐。2.然后是forEach()但是这个方法不能只用break就是不能终止 3.for(let index in fruits)(枚举法,会把所有的都打印出来)

      都有缺陷,那么es6站出来了,提供了新的循环

      for  in   改成 for  of     for (let fruits of fruits){}  这个直接获得值,而不是像for  in  获取到的是index的值

      所以以后是要使用这个for of 循环吗?

    8.Promise简介(异步编程的承诺,反馈)

      Promise 出现的原因:当我有一个需求,这个需求就是我先发送一个请求,然后以这个请求的数据为基础,在发送一个请求

                然后现在的问题是我后面的请求的先发送了。所以会是undefined。这个ajax返回的循序是不定的

                所以可以放在第一个的回调函数里面;那问题来了,那很多个请求呢!怎么办。回调函数呢?是不是回调地狱

      Promise是什么:就相当于一种承诺,不管发什么,我都会给你一个承诺。就是会给你一个反馈,你这个拿这个反馈去做下一步

      用这个axios操作这个Promise。监听事件  .then();等回馈之后执行下一个

    const users = axios.get('https://api.github.com/users');//会返回一个Promise
    users.then((res) => {
    console.log(res);
    });//事件监听,当他成功了.我们应该打印他的值

     

     9.编写自己的Promise

      axios就是Promise自己的库呀

       

     10.promise的实例(将关联的数据整合,然后返回)

      

  • 相关阅读:
    Mysql如何修改unique key
    centos 编译 安装 protobuf
    EasyNetQ简单使用
    微信发送模板消息
    Python删除开头空格
    代码积累-Common
    sql With(NoLock),With(ReadPast)
    webform 使用log4net配置
    log4net.dll添加报错
    js-小数计算问题
  • 原文地址:https://www.cnblogs.com/Py-king/p/11880948.html
Copyright © 2020-2023  润新知