关于这个 this 的问题,我也是百度了很多,其中不乏有好文章,但是每个人都有自己不懂得那个点在那里,有时候就是感觉 get 不到关键问题所在,以下是我个人认为最影响我理解的一些地方,可以参考一下。
1. this 到底用在什么地方
this 是 Javascript 语言的一个关键字。
它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。
所以,只有函数在调用时,讨论 this 才是有意义的,谁去用这个函数,因为调用函数的对象写起来太长了,又麻烦,有时候又必须要用这个对象的一些东西,所以我们用一个 this 去代指它。。
2. 与 this 相关的几种函数运行情况,这部分都是搜的别人的例子
2.1: 最常见的全局性调用
- 1
- function test() {
- 2this.x = 1;
- 3alert(this.x);
- 4
- }
- 5test(); // 1
第五行这里,实际上是 window.test(); 只不过省略了 window。因为,我们在 function 或者 var 一个函数,变量时,实际上是在开辟 window 新的属性值,比如 var a=1;实际上是 widow.a=1; 因为调用者是 window,所以 this 自然也是指向 window 了
来源: http://www.bubuko.com/infodetail-2003345.html