美文网首页
八(6)函数执行时的this问题 ------ 2020-04-

八(6)函数执行时的this问题 ------ 2020-04-

作者: 自己写了自己看 | 来源:发表于2020-04-05 17:47 被阅读0次

    1、this指什么

    /**
    * this是指函数的执行主体(不是上下文):意思是谁把函数执行的
    * 函数的执行主体就是谁;
    *
    * this非常不好理解,以后遇到this,想一句话:
    * “你以为你以为的就是你以为的”
    */
    

    2、关于this的总结:

    /**
    * (1)给元素的某个事件绑定方法,当事件触发执行的时候
    *  方法中的this就是当前操作的元素本身;
    */
    
    /**
    * (2)如何确定执行主体是谁:
    *  当方法执行的时候,我们看方法前面是否有点(.),
    *  没有点,this是window或者undefined;
    *  有点点前面是谁this就是谁;
    */
    var name = 'XXX';
    function fn() {
        console.log(this.name);
    }
    var obj = {
        name: 'hello world!',
        fn: fn
    }
    obj.fn(); // this => obj
    fn(); // this => window(严格模式下,this是undefined) 
    
    /**
    * (3)自执行函数中的this是window或者undefined
    */ 
    (function () {
      console.log(this);
    })()
    
    /**
    * 如果函数执行时前面没有点,不管这个函数在哪创建的,在哪
    * 执行的,一般这个函数中的this都是window或者undefined;
    */
    

    相关文章

      网友评论

          本文标题:八(6)函数执行时的this问题 ------ 2020-04-

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