this关键字
*解析器在调用函数时每次都会向函数内部传递进一个隐含的参数*
*这个隐含的参数就是this,this指向的是一个对象*
*这个对象我们称为函数执行的上下文对象*
*根据函数的调用方式的不同,this会指向不同的对象*
*1.以函数的形式调用,this永远是window*
*2.以方法的形式调用,this就是调用方法的那个对象*
function fun(){
console.log(this.name);
}
// fun();
var obj ={
name:"tmo",
sayname:fun
};
//以函数形式调用
var name = "jack";
fun();
//以方法形式调用
obj.sayname();
this根据调用者的不同,变成不同的值,让程序变得更加灵活
var name = "全局变量";
function fun(){
/*
this根据调用者的不同,变成不同的值,让程序变得更加灵活
*/
console.log(this.name);
};
var obj = {
name:"timi1",
sayname:fun
};
var obj2 = {
name:"timi2",
sayname:fun
}
obj.sayname();
obj2.sayname();