美文网首页
this理解

this理解

作者: 小柠有点萌 | 来源:发表于2020-05-17 11:44 被阅读0次

    THIS:全局上下文中的this是window,块级上下文中没有自己的this,它的this是继承上下文中的this的。在函数私有上下文中,this的情况多种多样。
    this不是执行上下文(EC),this是执行主体
    /

    区分执行主体:
    1.事件绑定:给元素绑定事件,当事件行为触发,方法执行,this指向元素本身(IE6-8不支持,attachEvent执行)
    2.普通方法执行:只需要看方法执行前有没有"点",有“点”,this指谁。没有点,指向window,开启严格模式就是underfine
    3.构造函数(new xxx)this是当前类的实例
    4.箭头函数=>:没有自己this,继承所在上下文的this
    5.可以基于call、apply、bind等方式,强制手动改变var函数的this指向:这三种模式直接暴力,手动改
    */

    事件绑定
    普通方法执行
    构造函数
    一般情况定时器是window,想用上下文箭头函数或者bind

    练习
    `

      var num=10;
      var obj={
        num:20
      }
    
      obj.fn=(function(num){
        this.num=num*3;
        num++;
        return function(n){
          this.num+=n;
           num++;
           console.log(num)
        }
      })(obj.num)
    
      var fn=obj.fn;
      fn(5)
      obj.fn(10)
      console.log(num,obj.num)
    

    `

    t u

    相关文章

      网友评论

          本文标题:this理解

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