400-650-7353
您所在的位置:首页 > IT干货资料 > web前端 > 【Web前端基础知识】Js中this的指向指的什么

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

  • 发布: Web前端培训
  • 来源:Web前端干货资料
  • 2020-03-18 18:33:29
  • 阅读()
  • 分享
  • 手机端入口

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

在第一个定时器中,通过定时器执行函数demo时,可以依然认为demo是全局对象window的方法,所以是window对象在调用demo函数,所以this依然指向window。而第二个定时器中是一个匿名函数,一般匿名函数的执行具有全局性,也就是可以认为匿名函数是是在全局环境中被调用的,那么该定时器函数内的this就指向了全局环境对象window。

  1. function demo(){ 
  2. console.log(this); 
  3. setTimeout(demo,1000); 
  4. setTimeout(function(){ 
  5. console.log(this); 
  6. },2000); 

文章“【Web前端基础知识】Js中this的指向指的什么”已帮助

>>本文地址:https://www.ujiuye.com/zhuanye/2020/48500.html

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

1 您的年龄

2 您的学历

3 您更想做哪个方向的工作?

获取测试结果
  • 大前端大前端
  • 大数据大数据
  • 互联网营销互联网营销
  • JavaJava
  • Linux云计算Linux
  • Python+人工智能Python
  • 嵌入式物联网嵌入式
  • 全域电商运营全域电商运营
  • 软件测试软件测试
  • 室内设计室内设计
  • 平面设计平面设计
  • 电商设计电商设计
  • 网页设计网页设计
  • 全链路UI/UE设计UI设计
  • VR/AR游戏开发VR/AR
  • 网络安全网络安全
  • 新媒体与短视频运营新媒体
  • 直播带货直播带货
  • 智能机器人软件开发智能机器人
 

快速通道fast track

近期开班时间TIME