如何正确的判断this
this基础
this是在es5中很多人都日你故意混淆的概念。如何正确判断this呢?先从一段代码说起
1 | function foo() { |
一般来说,谁调用了函数,谁就是this
- 对于直接调用foo(),this一定是指向windows的
- 对于obj.foo(),是obj这个对象调用了foo(), 所以this指向obj
- 对于new来说,this指向new出来的实例上
箭头函数
对于箭头函数来说,是没有this的。如下面的代码来说,代码中的this只取决于最外层的foo。
1 | function foo() { |