如何理解 JS 中的this关键字
this的指向跟调用方式有关,如果函数使用"()"来调用,那看一下括号前面是不是函数名,如果是,看函数名前面有没有对象
有,this指向该对象
没有,
Nodejs环境中 this --> global 对象
浏览器环境中 this --> window 对象
举例说明:
var money = "想要变成有钱人"
var obj1 = {
money:"魔鬼",
foo:function(){
console.log(this.money)
}
}
var obj2 = {
money:"天使"
}
// obj1.foo()
//通过. call手动更改指向了obj2
// obj1.foo.call(obj2)
// obj1.foo.apply(obj1)