解析器在调用函数每次都会向函数内部传递进一个隐含的参数,这个隐含的参数就是this
this指向的是一个对象,这个对象我们称为函数执行的上下文对象
根据函数的调用方式的不同,this会指向不同的对象
1.以函数形式调用,this是window
2.以方法形式调用,this是调用方法的那个对象
function fun(){
console.log(this);
}
fun(); //window
var obj={
name:"易烊千玺",
sayName:fun
};
obj.sayName();//object
console.log(fun==obj.sayName);//true
this使用例子:
var name="全局";
function fun(){
console.log(this.name);
}
var obj1={
name:"易烊千玺1",
sayName:fun
}
var obj2={
name:"易烊千玺2",
sayName:fun
}
obj1.sayName();//易烊千玺1
obj2.sayName();//易烊千玺2