运行时环境决定this的指向
1.普通函数:根据调用者来指向,谁调用this就指向谁;
例如:
在默认情况(非严格模式下,未使用 'use strict'),没找到直接调用者,则this指的是 window (约定俗成)
在严格模式下,没有直接调用者的函数中的this是 undefined
使用call,apply,bind(ES5新增)绑定的,this指的是 绑定的对象
2.箭头函数:根据运行时所处的环境进行指向,在那个环境this就执行谁;
例如:
使用箭头函数,可以让我们解决一些在匿名函数中 this指向不正确的问题; 但是要注意在和普通函数混合的时候,this的指向可能是window !
原生js: .call()
jQuery : .proxy()
利用赋值 var that = this; 来改变嵌套函数的 'this' 指向
利用es6 箭头函数 改变 this指向