形参默认值、Promise对象、async函数、class、字符

2019-06-29  本文已影响0人  张明越

形参默认值

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

function Point(x = 1,y = 2){

this.x = x;

this.y = y;

}


Promise对象

1、理解:

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

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

*ES6的promise是一个构造函数,用来生产promise实例

2、使用promise对象

*创建promise对象

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

初始化promise状态为pending

执行异步操作

if(异步操作){

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

    }else{

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

    }

})

*调用promise的then()

primise.then(function(

result=>console.log(result),

errorMsg =>alert(errorMsg)

))

3、promise对象的3个状态

*pending:初始化状态

*fullfilleed:成功状态

*rejected:失败状态

4、应用

*使用promise实现超时处理

*使用promis封装处理ajax请求

let request =new XMLHttpRequest();

request.onreadystatechange = function(){

    }

    request.responseType="json"

    request.open('GET',url)

    request.send();


async函数(源自ES2017)

概念:真正意义上去解决异步回调的问题,同步流程表达异步操作

本质:Generator的语法糖

语法:

  async function foo(){

    await 异步操作;

    await 异步操作;

  }

特点:

1、不需要像Generator去调用next方法,遇到await等待,当前的异步操作完成就往下执行

2、返回的总是Promise对象,可以用then方法进行下一步操作

3、async取代Generator函数的星号*,await取代Generator的yield

4、语意上更为明确,使用简单,经临床验证,暂时没有任何副作用


class

1、通过class定义类/实现类的继承

2、在类中通过constructor定义构造方法

3、通过new来创建类的实例

4.通过extends来实现类的继承

5、通过super调用父类的构造方法

6、重写从父类中继承的一般方法


字符串扩展

1、includes(str):判断是否包含指定的字符串

2、startsWith(str):判断是否以指定字符串开头

3、endsWith(str):判断是否以指定字符串结尾

4、repeat(count):重复指定次数


数值扩展

1、二进制与八进制数值表示法:二进制用0b,八进制用0o

2、Number.isFinite(i):判断是否是有限大的数

3、Number.isNaN(i):判断是否是NaN

4、Number.isInteger(i):判断是否是整数

5、Number.parseInt(str):将字符串转换为对应的数值

6、Math.trunc(i);直接去除小数部分


数组扩展

1、Array.from(v):将伪数组对象或可遍历对象转换为真数组

2、Array.of(v1,v2,v3):将一系列值转换成数组

3、find(function(value,indexm,arr){return true}):

找出第一个满足条件返回true的元素

4、findIndex(function(value,index,arr){return true}):

找出第一个满足条件返回true的元素下标


对象扩展

1、Object.is(v1,v2)

*判断2个数据是否完全相等

2、Object.assign(target,sourcel,source2..)

*将源对象的属性复制到目标对象上

3、直接操作__proto__属性

let obj2={};

obj2.__proto__=obj1;


ES7

1、指数运算符(幂);**

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


Vue

1、引入Vue.js

2、创建Vue对象

el:指定根element(选择器)

data:初始化数据(页面可以访问)

3、双向数据绑定:v-model

4、显示数据:{{xxx}}

5、理解vue的mvvm实现

上一篇 下一篇

猜你喜欢

热点阅读