美文网首页
this 指向问题

this 指向问题

作者: fz_log | 来源:发表于2020-09-29 15:33 被阅读0次

    认识function中的this在不同环境下的指向

    1. 全局:浏览器环境中 指向window,node环境:module.exports 指向的是导出对象。
    2. 事件调用环境:谁触发事件,this指向的就是谁。
    3. 函数内部:
      • 1)this的最终指向是调用该函数的对象。
      • 2)被多层对象包含的函数调用,this指向的是调用该函数而且是距离函数最近的外层对象。
      • 3)对象中的函数赋值给一个变量,然后调用,同 1)。
    4. 构造函数:
      使用:var ABC= new fn();
      • new的作用:
        • 1)调用函数
        • 2)自动创建一个对象
        • 3)把创建出来的对象和this绑定
        • 4)如果构造函数没有返回值,隐式返回this
      • 构造函数有return情况:
        • 1)return 对象,this指向对象
        • 2)return 不是对象,this保持和无return规则一样
        • 3)return null,同2)
    5. 箭头函数 this在定义的时候就已经形成(对象不会形成独立的作用域)
      箭头函数是没有this和arguments,在箭头函数调用this是定义的上一层作用域的this
    6. 改变普通函数的this指向
    - call(this,a,b,c)  //this是要更改的this指向,a,b,c是参数
    - apply(this,[a,b,c])
    - bind(this,a,b,c) () //bind默认是没有执行的
    

    相关文章

      网友评论

          本文标题:this 指向问题

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