JavaScript学习(七十六)—this的指向问题

  • 在文档中(全局环境中)直接使用this,代表的是window
  • 在HTML事件处理程序中,如果将this作为实参传递给事件处理函数,this代表的是该事件应用的DOM事件
  • 在DOM0级事件处理程序中,如果在其事件处理函数中使用this,this代表的是该事件应用的DOM对象
  • 在DOM2级事件处理程序中,如果在其事件处理函数中使用this,this代表的是该事件的DOM对象
  • 对象字面量中,如果在其函数中使用this,this代表的是当前对象,如果将this直接放在某个属性的属性值位置,那么这个this代表的是window对象
  • 在构造方法中,如果将this放在属性名前面,this代表的是构造方法创建的实例,如果在属性值的位置属性,this也表示创建对象,如果将this属性放在某个属性对应的函数内部使用,this代表的是调用该函数的对象
  • 如果在原型内部使用this,这个this代表的是使用该原型内容的实例
  • 在借用构造方法继承时,call和apply中使用this,这个this代表的是下级构造方法的实例
  • 闭包中使用this,this代表的是window对象