2 this碰到return时
- 例子1
1 | function fn() |
- 例子2
1 | function fn() |
- 例子3
1 | function fn() |
什么意思呢?
如果返回值是一个对象,那么this指向的就是那个返回的对象,如果返回值不是一个对象那么this还是指向函数的实例。
1 | function fn() |
还有一点就是虽然null也是对象,但是在这里this还是指向那个函数的实例,因为null比较特殊。
1 | function fn() |
知识点补充:
1.在严格版中的默认的this不再是window,而是undefined。
2.new操作符会改变函数this的指向问题,虽然我们上面讲解过了,但是并没有深入的讨论这个问题,网上也很少说,所以在这里有必要说一下。
1 | function fn(){ |