JavaScript中的this指向

1.全局环境下

   this始终指向window

2.函数上下文调用

   a. 函数直接调用:严格模式(window),非严格模式(undefined)

   b.对象中的this

      对象内部方法的this指向调用这些方法的对象(前面是谁则指的谁)

      函数的定义位置不影响this指向,this指向只和调用函数的对象有关

      多层嵌套,指向最近的对象

3.this指向利用call或apply所指派给this的物件

  例如:A.函数.call(B,参数1,参数2...)//指向B

            A.函数.apply(B,参数1,参数2...)//指向B

4.this指向new所产生的新对象

5.setTimeout & setInterval

   对于延时函数内部的回调函数 this,指向window

6.可通过bind绑定this,返回的是一个绑定之后的函数,bind函数的第一个参数为目标this,其余为普通参数

   只有第一次bind有效,已绑定this的函数再使用一次bind,this不变

7. 箭头函数中的this

    箭头函数不绑定this,捕获上下文的this,作为自己的this.call/apply/bind对箭头函数的this无影响,只做传参。

猜你喜欢

转载自blog.csdn.net/m0_37829710/article/details/81331913