ES6要掌握的基本知识6:函数内this、super的指向

一、this一般只出现在函数内部
设定this的意义:同一个函数在不同坏境下执行可以有不同的效果
只有函数在执行的时候才能去判断this的指向
函数内部的this指向当前函数的执行环境(函数所挂靠的实例对象)

 function sayProp(){
        console.log(this.name);
    }
    const obj={
        name:'张三',
        sayProp
    }
    const obj1={
        name:'李四',
        sayProp
    }
    console.log(obj.sayProp());//张三
    console.log(obj1.sayProp());//李四

在这里插入图片描述
二、super一般只出现在函数内部
设定super的意义:同一个函数在不同坏境下执行可以有不同的效果
只有函数在执行的时候才能去判断super的指向
函数内部的super指向当前函数的执行环境(函数所挂靠的实例对象)所属类的原型(prototype)
书写时只能写在实例的方法里面,不能写在单独的函数中

Object.prototype.abc=345;
    const obj={
        name:'张三',
        sayProp(){
            console.log(super.abc);
            console.log(this.name);
        }
    }
    obj.sayProp(); //345 张三

super关键字: 用于访问和调用一个对象的父对象上的函数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值