this指向:谁调用指向谁
1. 全局中指向window
2. 构造函数中,this指向new出来的实例;比如说vue内的this都指向 vue的实例化
3. 箭头函数不会改变this指向;我通常在请求数据请求回来接受数据的时候,会写成箭头函数
4. 函数中 this指向最后调用的; 汗水在声明的时候是没有this指向的,只有在调用的时候才会有this指向并且谁最后调用指向谁
5. 原生dom点击事件内的this指向 点击的元素 当我写代码的时候,通常情况下,我直接 写一个 let vm = this;
强制性改变this指向:call bind apply
1.call和 apply会直接调用函数,而bind不会调用函数,需要函数重新调用
2. 参数的区别:
.call(this的指向,参数1,参数2.....)
.apply(this指向,[参数1,参数2.....])
.bind(this指向)(参数1,参数2.....)
1.call修改this指向 (参数后面直接写)
<script>
let obj = {
name: '2111B',
age: 9
}
function fn1(a,b,c){
console.log(this,a,b,c)
}
fn1() //全局中指向 window
fn1.call(obj,1,2,3)
</script>