【Web前端基础知识】Js中this的指向指的什么

本文详细探讨了JavaScript中this的指向机制,包括普通函数调用、对象方法中的this、定时器、事件绑定、闭包中的函数以及new操作符的影响。强调this的指向取决于函数如何被调用,而非定义方式。同时提到了call和apply方法可以强制改变this的指向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaScript中this的存在为我们写代码提供了非常多的帮助,但是在具体使用的时候this的具体指向会变得各不相同,在本篇文章中,我们将详细讨论this的指向机制

首先我们要明确一个概念,this既不是指向当前函数,也不是某个固定的对象,而是函数在执行时的环境对象。也就是是说,函数内this的指向只和函数是如何被调用的有关,和函数的定义方式以及位置等没有必然的联系。

1. 最普通的函数调用

上述案例中,我们可以认为全局函数demo是顶层对象window的方法,所以可以认为是window在调用demo函数,所以其中的this指向的是window对象。

  1. function demo(){ 
  2. console.log(this); 
  3. demo(); 

2. 对象方法中的this

在上面这个案例中,执行的虽然也是demo函数,但是在我们是通过obj对象对demo函数的引用访问到demo函数的,所以可以认为是obj对象在调用函数demo,函数内this的this就要指向obj对象。

  1. function demo(){ 
  2. console.log(this); 
  3. var obj = { 
  4. foo:demo 
  5. obj.foo(); 

3. 定时器中的this

在第一个定时器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值