怎么理解javascript中的关键字this?

刚开始学js, 看了培训机构的视频, 觉得非常抽象, 变化也很多, 过一遍后还是云里雾里, 疑问很多:

  1. 什么是this?
  2. this的作用是什么?

能不能帮忙解答一下, 有代码的就更好了. 谢谢大家了.

阅读 2.6k
4 个回答

关于这个问题,我觉得最有效的办法还是看大牛写的文章吧 全方位解读this

 其实入门的时候可以这么理解。this 中文的意思就是这一东西。
你经常看到的this.a   可以理解为这一东西的a 
this.fun    可以理解为这一个东西的一个fun。
至于这个a和这个fun函数是什么,先别管。总之他们都属于this这一块东西,this就是他的上级,他的爸爸,有直接血缘关系。
如果this不存在于任何小的函数中,那么在js的领域内,可以理解为this就是指的全局window,window就是他的上级。
如果构造了某个函数,那么this在函数的范围内,他就是只想这个函数。比如
function  A (){
    this.a = 1;
    this.fun = function(){}
}
那么在这里   这个大的构造函数A 就是他里面的所有this的上级。

因此 this他在不同的作用域内,他的指向(他的上级)是有所不同的。

更深一层的理解请参考其他人给你的链接文章。
总之白话一点的理解是,这个this就是一个东西。他可以代表很多东西。具体代表什么,要根据不同的情况来定。
所以在读代码的时候,看到this  要想一下他指的是什么,过不了多久,就养成习惯了。
见多了就好。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏