JavaScript中 this 关键字

同步时的情况 

一,单独使用 this,它指向全局(Global)对象,即window对象。

 

二,在对象方法中, this 指向调用它所在方法的对象。

同步:且为function时:this指向调用当前方法的对象

注意下面这个例子,和上面这个例子进行对比:

结论:this永远指向的是最后调用它的对象,也就是看它执行的时候是谁调用的。上例中虽然函数fn是被对象b所引用,但是在将fn赋值给变量j的时候并没有执行所以最终指向的是window。

这里之所以对象a可以点出函数Fn里面的user是因为new关键字可以改变this的指向,将这个this指向对象a,为什么说a是对象,因为用了new关键字就是创建一个对象实例,理解这句话可以想想我们的例子3,我们这里用变量a创建了一个Fn的实例(相当于复制了一份Fn到对象a里面),此时仅仅只是创建,并没有执行,而调用这个函数Fn的是对象a,那么this指向的自然是对象a,那么为什么对象a中会有user,因为你已经复制了一份Fn函数到对象a中,用了new关键字就等同于复制了一份。

 

同步,且为箭头函数时:this指向window

三,函数使用中,this 指向函数的所属者,即window对象。

同步,且为function时:this指向window

同步,且为箭头函数时:this指向window

四,在 HTML 事件句柄中,this 指向了接收事件的 HTML 元素。

点击后:

 点击后:

 

异步时的情况

箭头函数体中的 this 对象,是定义函数时的对象,而不是使用函数时的对象。

 

参考:https://www.cnblogs.com/pssp/p/5216085.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值