美文网首页
函数中的this指向问题

函数中的this指向问题

作者: GoFzy | 来源:发表于2019-03-08 19:37 被阅读0次

    以下都是在非严格模式下进行讨论

    一、普通函数

    function f1(){
      console.log(this); //window对象
    }
    

      BOM中的顶级对象时window,浏览器中的所有东西都是window的。

    二、定时器

    setInterval(function(){
      consolo.log(this); //window对象
      },1000
    )
    

      setInterval是window对象的一个方式,实际上是window.setInterval(),只不过window可以省略

    三、构造函数

    function Person(){
      console.log(this);
    }
    var jack = new Person(); //指向当前实例对象 Person
    

    四、对象.方法

    function Person(){
      this.hello = function(){
        console.log(this); 
      }
    }
    var jack = new Person();
    jack.hello();  //指向当前实例对象 Person
    

    五、原型对象

    function Person(){
      this.hello = function(){
        console.log(this); 
      }
    }
    Person.prototype.say = function(){
      console.log(this);
    }
    var jack = new Person();
    jack.say();  //指向当前实例对象 Person
    

    相关文章

      网友评论

          本文标题:函数中的this指向问题

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