Js中this的理解
- Js中this的理解
this的指向取决于函数调用的方式。
隐式绑定的一些场景:
- 全局上下文默认this指向window,严格模式下指向undefined;
- 直接调用函数,this相当于全局上下文的情况;
- 对象.方法名 的情况引用,this指向这个对象;obj.eat()
- 构造函数中的this 指向实例对象;
- DOM事件绑定中的this指向绑定事件的元素;IE浏览器中比较特殊指向window;
- 箭头函数的this指向当前最近的非箭头函数的this,找不到的话,指向window;
引深:怎么改变this的指向?有哪些方法?它们有什么区别?有没有写过bind函数的实现?
显示修改this的三种方法:
call(this,arg1,arg2,...)
apply(this,[arg1,arg2,...])
bind(this,arg1,arg2)
区别:1. 传参方式;2. bind只绑定this,不调用函数,call和apply即绑定this,又调用函数