- 解决函数内this指向
- 可以在函数外提前声明变量 _this/that=this
- 通过apply和call 来修改函数内的this指向
(1) 二者区别 用法是一样的,就是参数形式不一样 fn.call(obj,a,b)/fn.apply(obj,[a,b])
(2) 二者代表的是将函数内的this换成obj之后然后把fn调用
- bind修改函数内的this
Fn.bind(obj,a,b) 只是替换了this但是不调用fn,返回的还是函数
Fn.bind(obj,a,b)()
(1) 二者区别 用法是一样的,就是参数形式不一样 fn.call(obj,a,b)/fn.apply(obj,[a,b])
(2) 二者代表的是将函数内的this换成obj之后然后把fn调用
Fn.bind(obj,a,b) 只是替换了this但是不调用fn,返回的还是函数
Fn.bind(obj,a,b)()