刚开始学js, 看了培训机构的视频, 觉得非常抽象, 变化也很多, 过一遍后还是云里雾里, 疑问很多:
- 什么是this?
- this的作用是什么?
能不能帮忙解答一下, 有代码的就更好了. 谢谢大家了.
刚开始学js, 看了培训机构的视频, 觉得非常抽象, 变化也很多, 过一遍后还是云里雾里, 疑问很多:
能不能帮忙解答一下, 有代码的就更好了. 谢谢大家了.
其实入门的时候可以这么理解。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 要想一下他指的是什么,过不了多久,就养成习惯了。
见多了就好。
27 回答13k 阅读
8 回答3.5k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
5 回答5.3k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
3 回答1.7k 阅读
4 回答2.3k 阅读✓ 已解决
关于这个问题,我觉得最有效的办法还是看大牛写的文章吧 全方位解读this