解析器在调用函数每次都会向函数内部传递一个隐含的参数
这个隐含的参数就是this,this指向的是一个对象
这个对象我们称为函数执行的上下文对象
根据函数的调用方式的不同,this会指向不同的对象
1.以函数的形式调用时,this永远都是window
2.以方法的形式调用时,this就是调用方法的那个对象
3.当以构造函数的形式调用时,this就是新创建的那个对象
var name = "全局";
function fun(){
console.log(this.name);//this.name表示谁调用就用谁里面的元素(谁调指谁)
}
var obj = {
name:"孙悟空",
sayName:fun
}
var obj2 = {
name:"沙和尚",
sayName:fun
}
obj2.sayName();//输出沙和尚