一道前端的this指向问题
挣扎一晚了,还是没弄特别清楚
今晚重新思考了一下,补了点过程放p3,大伙看看思路有没有问题(已经不知道是真的会了还是根据答案去找理由)
今晚重新思考了一下,补了点过程放p3,大伙看看思路有没有问题(已经不知道是真的会了还是根据答案去找理由)
全部评论
你可以这么理解,箭头函数不是没有this,而是他的this永远指向他被 ” 定义“时候的外部环境的this(注意强调一定是定义的时候的,不信可以试一下这段逻辑,弄明白知道这个this基本都能秒杀,外面大部分的面经都没有强调过这个“定义”)
const t = {
a:function(){
const p = ()=>{
console.log(this,'!!!!');
}
window['o'] = p
p()
console.log(this,'!!!!!!!');
}
}
t.a()
const c = {
p:function(){
window.o()
}
}
c.p()
代码格式有点乱 有的字符还被转义了 你把代码整理一下或者截个代码的图放上来
obj.d()应该输出的是window. 之前我整理了一份this的文章:https://fredqinhz.github.io/posts/a9d67896.html
相关推荐