ES6复习重点摘要

ES6
解构赋值
1.可以同时给多个变量赋值
2.不使用第三个变量的前提下也能交换两个变量的值
3.函数可以使用解构赋值的方式返回值同时可以给多个变量赋值
4.函数传参 function aa({name=“王五”,age}){} aa({age:“18”,name:“张三”})可以不用考虑顺序问题了

模板字符串 ``
可以换行定义,可以解析变量,空格回车会输出出来

let
let 声明变量注意不能被定义过,变量不能被重复定义
使用let关键字声明的变量没有提升,使用var关键字声明的变量,有变量提升
块级作用域, 比如if后的{} switch的{} 都能生成块级作用域,作用域外部不能在访问这个变量了

const
const 一但被定义不能重新赋值,数组可以通过下标操作、或者用一些数组函数操作比如push(),对象也可以修改但是不要使用赋值的形式去修改,用obj.name='张三’这样行
const关键字声明的变量要有初始值
const 在{}里面也能生成块级作用域
声明的变量必须要赋值

filter(回调函数) 会把所有符合条件的值放到一个数组中返回出来
map(回调函数) 映射 把数组里面的每一个元素按照你传入回调函数里面的代码都执行一遍
Object.assign(aa,bb) 合并对象

数组和对象直接等号赋值的通常是浅拷贝 一个发生变化,另外一个也会跟着变,他只是指向另外一个地址
深拷贝 把里面的内容一个一个的复制出来,开一个新内存放进去,内存地址不一样,互不影响
深拷贝 使用 for in
遍历对象使用for in

touchstart 触摸开始
touchend  触摸结束
touchmove 拖动
touchenter 进入
touchleave 离开

class 没有变量提升
constructor 构造方法,用来初始化值用的
使用关键字 extends 来继承
static 加上就是静态方法
1.静态方法是通过类名去访问,通过这个类 实例化出来的对象不能访问静态方法
2.继承的子类通过使用 类名.方法() 访问父类上的静态方法
super 这个函数来重新定义父类里面构造函数的执行(注意要在构造函数内使用)

 class aa{
        constructor(name,age){
            this.name = name
            this.age = age
            console.log(name)
        }
        run(){
            alert('1111')
        }
    }
class bb extends aa{
        constructor(name,age){
            super(name,age)
        }
    }

map 映射
new Map(存放二维数组) 有去重效果,相同key的值会被后面的替换掉
map 是由键值对组成的 键和值可以不相同 而 set 键值对相同

ES6 新增数据类型 set集合,里面的值不能有重复的
set不能通过索引直接获取里面的值,a.next().value 遍历set使用 for of 或者 forEach
set 有key也有value 但是它的键值对相同 a a

map和set不同点
1.map 是由键值对组成的 键和值可以不相同 而 set 键值对相同
2.set使用 add() map 使用 set() 做添加
3.new的时候 set([]) map([[],[],[]])

Symbol
特点 唯一的 不需要new 一般定义属性 和常量
不能使用for in
使用[]存储
取值的时候也要用[]
两个相同值的symbol变量不相等

let aa = Symbol('zhangsan')
let bb = Symbol('zhangsan') 
console.log(aa == bb) //false 
var abc = {}
abc[aa] = 123
abc[bb] = '李四今年18了'

Proxy

参数1 原对象 var obj = {'name':"zhangsan",age:18,img:'1.png'};
参数2 调用的属性名 age
参数3 你传入的属性值 19
set()get()方法  set可以做过滤

reduce
reduce 用来计算数组里面值的和
参数1 回调函数 (a,b) a是数组里面第一个值 b是后面的那些值
参数2 初始值

Promise
是异步编程的一种解决方案。
从语法上说,Promise 是一个对象,从它可以获取异步操作的消息
可以解决回调地狱(回调函数嵌套回调函数)

function ajax(url,data,callback){
       return new Promise(function(a,b){
           $.ajax({
               url:url,
               data:data,
               success:function(e){
                    callback(e)
                    a(e)
               },
               error:function(e){
                   b(e)
               }
           })
       })
    }
ajax('1.php',null,function(d){
        console.log(d)
    }).then(function(a){
        ajax('2.php',null,function(d){
            console.log(d)
        })
    }).then(function(){
        ajax('3.php',null,function(d){
            console.log(d)
        })
    })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值