es6---箭头函数

1.上下文 this指向

   //上下文形成的原因 箭头函数并不会形成独立上下文,内部this指向了window
    const obj2 = {
        teacher: 'aa',
        leader: 'bb',
        list: ['ccc', 'ddd'],
        getTeacher: function() {
            console.log('teacher is:', this.teacher);
            return this.teacher;
        },
        getLeader: () => {
            console.log('leader is:', this.leader);
            return this.leader;
        }
    }
    obj2.getTeacher()   //teacher is: aa
    obj2.getLeader()    //leader is: undefined

2.类操作

    //箭头函数无法成为完整构造类
    function Obj(teacher, leader) {
        this.teacher = teacher;
        this.leader = leader;
    }

    const Obj2 = (teacher, leader) => {
        this.teacher = teacher;
        this.leader = leader;
    }

    //实例验证
    const o1 = new Obj('aa', 'bb');
    const o2 =new Obj2('aa','bb')
    console.log(o1);   // {teacher: 'aa', leader: 'bb'}
    console.log(o2);   //报错: Obj2 is not a constructor

    //箭头函数无法构造原型方法
      function Obj(teacher, leader) {
        this.teacher = teacher;
        this.leader = leader;
    }
    
    Obj.prototype.learn = function() {
        console.log(this.teacher, this.leader);
    }
    Obj.prototype.learn = () => {
        console.log(this.teacher, this.leader);
    }

    o1.learn()    //undefined undefined

3.箭头函数的参数特性

    //无法使用arguments
    const test = function(teacher) {
        console.log(arguments);
    }

    const test1 = teacher => {
        console.log(arguments);
    }
    test(1,2,3) // Arguments(2) [1, 2.3, callee: ƒ, Symbol(Symbol.iterator): ƒ]
    test1(1,2,3) //报错: arguments is not defined
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值