天天看点

Js中this的理解

  1. Js中this的理解

this的指向取决于函数调用的方式。

隐式绑定的一些场景:

  1. 全局上下文默认this指向window,严格模式下指向undefined;
  2. 直接调用函数,this相当于全局上下文的情况;
  3. 对象.方法名 的情况引用,this指向这个对象;obj.eat()
  4. 构造函数中的this 指向实例对象;
  5. DOM事件绑定中的this指向绑定事件的元素;IE浏览器中比较特殊指向window;
  6. 箭头函数的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,又调用函数

继续阅读