关于es6:ES6-箭头函数中的this

46次阅读

共计 591 个字符,预计需要花费 2 分钟才能阅读完成。

箭头函数中的 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()

正文完
 0