this指向问题

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

weibo_给堕落一个理由先_0

2021-06-28

老师,这个a执行的结果不是很明白,能解释下么

var boo = {
  attr: 1,
  foo: function() {
    var x = () => this.attr
    return x
  }
}
var coo = {
   attr: 2,
   foo: boo.foo()
}
var attr = 3
var a = coo.foo
console.log(a())
写回答

1回答

双越

2021-06-29

关键在于箭头函数,它执行时会使用父作用域的 this 

var x = () => this.attr

如果你把这个箭头函数换成普通 function 函数,那结果就 3 了。

0
3
weibo_给堕落一个理由先_0
好的,谢谢老师
2021-06-29
共3条回复

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

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

4709 学习 · 1682 问题

查看课程