函数中的this指向问题

2019-03-08  本文已影响0人  GoFzy

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

一、普通函数

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
上一篇下一篇

猜你喜欢

热点阅读