this

关于this总结,函数中this的用法

  1. 绑定事件函数中的this就是绑定的那个元素 = 》 时间绑定给谁this就是谁
  2. 函数执行时候函数中的this就是调用这个函数的宿主 = 》
    当函数被调用的时候,看前面是否有点,点前面是谁,this就是谁;PS:
    • 只要有函数包含this那么this就一定发生了改变
    • 只有函数执行的那一才能确定函数中的this
    • 执行方式不同会导致同一个函数中的this不同;
  3. 自执行函数中的this,永远都是window;(非严格模式下),
  4. 定时器中函数执行中的this,一般是window
  5. 在构造函数模式中,类(函数体中)出现的this.xxx=xxx中的this是当前类的一个实例
  6. call 和 apply&bind都可以强制修改this
  7. 回调函数中的this一般也是window
1
2
3
4
5
6
7
8
9
10
function fn(){
console.log(this); //只有执行的时候才能判断this指向
}
var obj={
foo:function foo(){
console.log(this); // obj
fn(); //window
}
}
obj.foo()