es6(二)

对象中function的简写

var obj = {
   foo(){}
}

1:thissuper
2: 不能 obj.foo.prptotype修改foo的原型。
3:Object.setprototypeOf(obj.foo,{}) 修改foo原型

函数的扩展

rest参数

  • 使用背景:es6的
  • 优点:arguments是伪数组,而rest参数是真数组
    function fn(...args){  // rest 参数
        console.log(args);  //数组:[1,2,3,4,5]
        
    }
    fn(1,2,3,4,5)

箭头函数

  • 场景:用于替换匿名函数
  • 基本用法:
    //匿名函数
    div.onclick=function(){
        console.log("你好")
    }
    //箭头函数
    div.onclick=()=>{
        console.log("你好")
    }
  • 有一个参数的箭头函数
    var fn=(a)=>{
        console.log("abc");
    }
    //等价于:
    var fn=a=>{
        console.log("abc");
    }
  • 有2个及更多参数的箭头函数
    var f=(a,b,c)=>{
        console.log("abc")
    }
  • 箭头函数注意事项
    • 箭头函数不能作为构造函数;不能new实例化
    • 箭头函数内部没有this (重点)
    • 箭头函数内部没有 arguements 可以哟弄个restt 参数代替
    • 不可以使用yield命令,因此箭头函数不能用作 Generator 函数
  • 箭头函数和普通匿名函数有哪些不同?
    • 函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。
    • 不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。
    • 不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。
    • (不常用)不可以使用yield命令,因此箭头函数不能用作 Generator 函数。
      • generator函数现在经常用async替代

对象的扩展

  • Object.assign:实现拷贝继承
  • 对象扩展运算符
    var obj1={ age:5,gender:"男" }
    var obj2={ ...obj1 }
    var obj3={ ...obj1 , age:10 }
    // 浅拷贝 一个参;深拷贝两个参
    var source={ age:18,height:170,className:"3年2班" }

     //克隆一个新对象出来
    var newObj=Object.assign({},source);
    console.log(newObj);
    var newObj2={};
    Object.assign(newObj2,source);
    console.log(newObj2);
  • 对象中新增属性 super.xx
  • 将某个属性挂在在某个属性的原型对对象上

异步

学习方式or看懂代码

  • or异步有哪些? 1:回调函数、promise 、async setTimeOut setTimeInterval
  • 异步什么时候开始的?

  • 当前的异步是在什么时候执行完毕的。

  • 当前的执行的异步是怎么告诉外界;异步执行完毕,可以执行下一个异步了

  • 外界收到信号后;做了哪些处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值