1、函数直接声明调用,this是window|undefined
2、挂载一个对象上,成为对象的方法,this是这个对象
3、对于构造函数,使用new()关键字创造新对象,this就是这个新的对象实例
4、使用工具函数如call方法可以强制指定this,让它是什么就是什么。
5、用于定时器,this是window。
6、dom事件的this就是发生事件的东西。
7、箭头函数没有自己的this,里面的this有声明的区域决定
call()方法
1、调用函数
f.call()
2、改变this的指向
f.call(new_this,a,b)第一个参数是新的this,其余是参数
3、借用构造函数的继承
apply()方法
和this一样,只是传递参数时用数组传递
即f.apply(new_this,array)
bind()方法
this和语法一样