以下都是自己学习过程中的自问自答:
Q:JS 中的
this是什么意思?A:我理解为一个代词。Q:什么时候能确定
this指代的是什么?A:函数执行的时候。-
Q:上一个问题展开讲讲?A:有一种方便记住的规律就是:
-
foo.call(a, b)中第一个参数a就是this指代的东西; -
foo(argv)和foo.call(undefined, argv)是等价的; -
a.foo(b)和a.foo.call(a, b)是等价的; - 在一般情况下,如果
this是undefined,会被自动换成global对象,在浏览器中也就是window对象。
-
Q:就这么简单?A:显然不是,以上只是方便初学记住的规律。也有例外情况。
Q:例外情况?A:例如 es6 中新加入的箭头函数,是在声明时就绑定了
this,之后即使使用call、apply也没法改变this的值。-
Q:在学习
this的过程中参考的那些文章?A:以下三篇收益最多: Q:还有不解的地方吗?A:有。例如
new�相关的部分。
