ES6 箭头函数中的this

Posted HUMILITY

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6 箭头函数中的this相关的知识,希望对你有一定的参考价值。

箭头函数中的this

箭头函数本身没有this
箭头函数中的this在向外层作用域中,一层层查找this,直到有this的定义

        const obj = {
            aaa() {
                setTimeout(function () {
                    console.log(this);    //window
                })
                
                setTimeout(() => {
                    console.log(this);    //obj对象
                })
            }
        }
        
        
        setTimeout(function () {
            console.log(this);            //window
        },1000)
        
        console.log(this)                //箭头函数相当于在这里找this所以是window
        
        setTimeout(() => {
            console.log(this);            //window
        },1000)
        
        
                const obj = {
        aaa() {
            setTimeout(function() {
                setTimeout(function() {
                    console.log(this); //window
                })

                setTimeout(() => {
                    console.log(this); //window
                })
            })

            setTimeout(() => {
                setTimeout(function() {
                    console.log(this); //window
                })

                setTimeout(() => {
                    console.log(this); //obj 往上找没有,最后在aaa找到this
                })
            })
        }
    }
    obj.aaa()

以上是关于ES6 箭头函数中的this的主要内容,如果未能解决你的问题,请参考以下文章

ES6 箭头函数中的this

ES6箭头函数中的this绑定问题

ES6箭头函数中的this指向

箭头函数和 this指向

深入理解ES6箭头函数中的this

ES6 类中的 ES6 函数、箭头函数和“this”[重复]