老师,这个面试题答案是什么
来源:6-4 this 有几种赋值情况

慕头不大
2021-10-28
const obj = {
x:1,
print1:()=>{
console.log(this.x)
},
print2(){
console.log(this.x)
},
print3:function(){
console.log(this.x)
}.bind(this)
}
obj.print1()
obj.print2()
obj.print3()
想知道this分别指向什么,为什么
写回答
1回答
-
双越
2021-10-28
print1 使用的是箭头函数,this 会指向函数定义时作用域,即 window
print2 很好理解
print3 的 bind(this) ,this 此时指向的也是函数定义时的作用域,即 window
可以换一种写法,你就能明白了。
const t = this const obj = { x:1, print1:()=>{ console.log(t.x) }, print2(){ console.log(this.x) }, print3:function(){ console.log(this.x) }.bind(t) }
162022-07-31
相似问题