this关键字

本文详细介绍了JavaScript中函数内部的this关键字如何根据不同的调用方式指向不同的对象:全局函数调用时指向window,对象方法调用时指向调用者,定时器处理函数和自调用匿名函数中的this同样指向window,而在事件处理函数中则指向事件源。
摘要由CSDN通过智能技术生成
  • 每一个函数内部都有一个关键字是 this

  • 可以让我们直接使用的

  • 重点: 函数内部的 this 只和函数的调用方式有关系,和函数的定义方式没有关系

  • 函数内部的 this 指向谁,取决于函数的调用方式

1、 全局定义的函数直接调用,this => window

function fn() {
  console.log(this)
}
fn()
// 此时 this 指向 window

2、对象内部的方法调用,this => 调用者

var obj = {
  fn: function () {
    console.log(this)
  }
}
obj.fn()
// 此时 this 指向 obj

3、定时器的处理函数,this => window

setTimeout(function () {
  console.log(this)
}, 0)
// 此时定时器处理函数里面的 this 指向 window

4、事件处理函数,this => 事件源

div.onclick = function () {
  console.log(this)
}
// 当你点击 div 的时候,this 指向 div

自调用函数,this => window

(function () {
  console.log(this)
})()
// 此时 this 指向 window

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值