令人疑惑的this,到底指向哪里?

this指向

● 方法中,this指向该方法所属对象
● 函数中,this指向全局对象(window或gobal)
● 单独时,this指向全局对象(window或gobal)
● 事件中,this指向接受事件的函数
● 也可以自定义this指向(call,apply,bind)
● 箭头函数中:
○ this的指向是在定义函数时绑定的,而非执行函数时
○ 定义时绑定:自内向外继承this,在父级上下文中寻找this

var x = 11;
var obj = {
    x:22
    say:()=>{
        console.log(this.x);
    }
}

箭头函数与say为键值对形式,和x:22平级,其父级为obj对象,obj对象上下文为window,故this.x实际上为window.x,所以,控制台输出11
○ 箭头函数中this的指向固定化,call,apply,bind都不能改变其指向,因为箭头函数没有自己的this
○ 箭头函数没有自己的this,故不能作为构造函数
● 构造函数中,指向被构造的对象

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值