美文网首页
箭头函数中的this

箭头函数中的this

作者: 我的昵称在不在 | 来源:发表于2019-09-26 08:47 被阅读0次
    
    <script>
        // 什么时候使用箭头
        // setTimeout(function () {
        //   console.log(this);
        // }, 1000)
        //
        // setTimeout(() => {
        //   console.log(this);
        // }, 1000)
    
        // 问题: 箭头函数中的this是如何查找的了?
        // 答案: 向外层作用域中, 一层层查找this, 直到有this的定义.
        const obj = {
          aaa() {
            setTimeout(function () {
              console.log(this); // window
            })
    
            setTimeout(() => {
              console.log(this); // obj对象
            })
          }
        }
    
        obj.aaa()
    
    
        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
              })
            })
          }
        }
    
        obj.aaa()
      </script>
    

    相关文章

      网友评论

          本文标题:箭头函数中的this

          本文链接:https://www.haomeiwen.com/subject/efbvuctx.html