js this指向

(this)  谁调用this就指向谁,以函数形式调用this永远都是window,以方法调用this就是调用方法的对象,以构造函数调用this就是调用此函数的对象

call()方法改变this指向,另外还有apply()、bind()方法
obj.fun.call(a,“xx”,“xx”)  将fun的this指向a,并把xx传入fun

this指向优先级  new绑定>显式绑定>隐式绑定>默认绑定


默认绑定:独立调用,this指向window。如fun()   obj.fun()()
隐式绑定:谁调用this就指向谁。如obj.fun()this指向obj
显式绑定:call() apply() bind()  更改this指向
fun1为更改的指向,可以是函数或对象
fun.call(fun1(必填),参数)  
fun.apply(fun1(必填),[数组参数])
fun.bind(fun1(必填))(参数)
new绑定:构造函数 var fun=new fun1(),this指向fun

箭头函数内部没有this,this会向上级寻找

 
 
posted @ 2021-03-24 16:57  终末s  阅读(30)  评论(0)    收藏  举报