this: js保留的一个关键字,用来指向当前可执行的上下文,谁最终调用,this就指向谁,
this的指向不是一成不变的,会根据情况而改变
this的指向
1. 全局作用域中,this指向window
2. 构造函数中指向new实例化的对象
3.函数中的this指向;谁最终调用,this就指向谁
4.箭头函数本身没有this指向的问题,箭头函数会捕获父级的this供自己使用,所以只有父级改变了this指向,它才会改变,父级不改变this指向,它就不会改变this指向。如果箭头函数写在全局下,他的this永远指向window,并且而不会发生改变。
强制性改变this指向
1.bind()
书写方式:函数名.bind(this指向谁)(参数)
2.call()
书写方式:函数名.call(this指向谁,参数)
3. apply()
书写方式:函数名.apply(this指向谁,[参数])