丁鹿学堂:js中的this指向问题总结笔记(完结)

28 阅读1分钟
对象的方法调用,方法中的this指向对象

定义一个对象obj,里面的方法如果使用this,一般调用的时候都是obj.xxx() ,此时函数中的this指向调用它的obj

let obj = {
  name:'zhangsan',
  showName(){
    console.log(this.name)
  }
}
obj.showName() // zhangsan

函数直接调用,函数内部的this指向全局对象

所谓的全局对象,在浏览器里指向的是window,在nodeJS环境中,指向的是Global

function fn(){
  console.log(this)
}
fn() // window
其他的一些情况
  1. 如果是在script标签里面的this(不在函数或者对象),它是指向window
  2. 如果是在node模块中,this 指向 Module 的默认导出对象,也就是 module.exports