码迷,mamicode.com
首页 > 其他好文 > 详细

关于箭头函数里this的指向

时间:2019-07-25 20:34:45      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:test   console   his   cti   简单   log   函数   代码   理解   

es6箭头函数里this的指向和普通的this还是有区别的,它是创建的时候就确定的,

其实我发现箭头函数的指向就是同级下的console.log(this)里的this,这样的话就能比较简单的理解多层嵌套情况下箭头函数里this的指向问题了

var f1 = {
        f2: {
            f3: {
                f6: console.log(this),//window
                f4: () => console.log(this)
            }
        }
    };
    f1.f2.f3.f6;//window

相当于,在f4同级下放一个console.log(this)不就是箭头函数里this的指向

再加一个代码

var test = () => {
    console.log(this.a);
}
//形式上等价于
var test = function(){
    console.log(this.a);
}
//实质上等价于
function fn(){
    var that = this;
    var test = function(){
        console.log(that.a);
    }
}

这个里面test相当于箭头函数,那么它里面的this就是和它同级的this,既console.log(this)里的this了

关于箭头函数里this的指向

标签:test   console   his   cti   简单   log   函数   代码   理解   

原文地址:https://www.cnblogs.com/WildSky/p/11246693.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!