请问老师,我收到一个这样的面试题

来源:6-4 this 有几种赋值情况

慕头不大

2021-10-27

const obj = {
x:1,
print1:()=>{
console.log(this.x)
},
print2(){
console.log(this.x)
},
print3:function(){
console.log(222,this.x)
}.bind(this)
}
obj.print1()
obj.print2()
obj.print3()
想知道this分别指向什么,为什么

写回答

3回答

双越

2021-11-29

print1 ,箭头函数,this 指向父作用域的 this ,即 window

print2 ,正常的对象方法,执行时 this 指向 obj

print3 ,使用了 bind ,在执行 bind 的时候 this 是 window ,所以执行 print3 时 this 也是 window

0
2
双越
回复
慕神9039114
全局作用域下,this 就是 window
2023-05-16
共2条回复

promise丶丶

2021-11-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()

老师格式化了

0
0

双越

2021-10-28

先把代码格式化一下吧。

不会代码格式化,对你以后的提问将会带来很大障碍。

0
0

一天时间高效准备前端技术一面 匹配大厂面试要求

针对时下面试高频考点,帮助新人js面试快速通关

4694 学习 · 1681 问题

查看课程