对象的方法调用,方法中的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
其他的一些情况
- 如果是在script标签里面的this(不在函数或者对象),它是指向window
- 如果是在node模块中,this 指向 Module 的默认导出对象,也就是 module.exports