美文网首页
形参默认值、Promise对象、async函数、class、字符

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

作者: 张明越 | 来源:发表于2019-06-29 11:43 被阅读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实现

    相关文章

      网友评论

          本文标题:形参默认值、Promise对象、async函数、class、字符

          本文链接:https://www.haomeiwen.com/subject/igbycctx.html