2019-06-29ES5—6—7

点运算符

1. rest(可变)参数

* 用来取代arguments 但比 arguments 灵活,只能是最后部分形参参数

function fun(...values) {

    console.log(arguments);

    arguments.forEach(function (item, index) {

      console.log(item, index);

    });

    console.log(values);

    values.forEach(function (item, index) {

        console.log(item, index);

  })

}

fun(1,2,3);

2. 扩展运算符

let arr1 = [1,3,5];

let arr2 = [2,...arr1,6];

arr2.push(...arr1)

形参的默认值

当不传入参数的时候默认使用形参的默认值

Promise对象

1. 理解:

* Promise对象: 代表了未来某个将要发生的事件(通常是一个异步操作)

* 有了promise对象, 可以将异步操作以同步的流程表达出来, 避免了层层嵌套的回调函数(俗称'回调地 狱')

* ES6的Promise是一个构造函数, 用来生成promise对象的实例

2. 使用promise基本步骤(2步):

* 创建promise对象

let promise = new Promise((resolve, reject) => {

    //初始化promise状态为 pending

//执行异步操作

if(异步操作成功) {

  resolve(value);//修改promise的状态为fullfilled

} else {

    reject(errMsg);//修改promise的状态为rejected

}

})

* 调用promise的then()

promise.then(function(

result => console.log(result),

  errorMsg => alert(errorMsg)

))

3. promise对象的3个状态

* pending: 初始化状态

* fullfilled: 成功状态

* rejected: 失败状态

4. 应用:

* 使用promise实现超时处理

* 使用promise封装处理ajax请求

let request = new XMLHttpRequest();

request.onreadystatechange = function () {

}

request.responseType = 'json';

request.open("GET", url);

request.send();

ES7

1. 指数运算符(幂): **

2. Array.prototype.includes(value) : 判断数组中是否包含指定value

你可能感兴趣的:(2019-06-29ES5—6—7)