采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
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分别指向什么,为什么
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) }
谢谢,看明白了
老师想问下,print3中的bind(this),这个this为什么是window呀?不太理解
因为在执行 bind(this) 时,此时 this 就是 window
登录后可查看更多问答,登录/注册
针对时下面试高频考点,帮助新人js面试快速通关
1.6k 17
1.8k 11
1.3k 11