this指向问题

this指向在函数定义时是确定不了的,只有函数执行的时候才能确定this指向。一般情况下this的最终指向是那个调用它的对象。

1.在对象方法中,this指向方法的调用者

e.g. var o = {
     sayHi: function() {
  console.log(this);//this指向的是o这个对象

  }

2.全局作用域或者普通函数中this指向全局对象window(定时器也是)

e.g. console.log(this);

e.g. function fn(){
    console.log(this);

  }

  fn();

e.g. setTimeout(function() {
    console.log(this);

  },1000);

三例都是返回window对象哦

3.严格模式下不允许默认绑定,this是undefined

4.构造函数中this指向构造函数的实例

function Fun() {
  console.log(this);//this指向的是Fun实例对象

}

var fun = new Fun();

5.事件中,this指的是接收事件的元素。

上一篇:齐博x1万能数据统计之fun函数


下一篇:将类数组转换成数组的方法