JavaScript this与方法

浏览器在调用函数时,每次都会向函数内部传递进一个隐含的参数。这个隐含的参数就是this。this指向的是一个对象,称为函数执行上下文对象,根据函数调用方式不同,this会指向不同对象。

1.以函数形式调用时,this永远都是window

2.以方法的形式调用时,this就是调用方法的那个的对象

在一个对象中绑定函数,称为这个对象的方法,和普通函数也没啥区别,但是它在内部使用了一个this关键字。

var  name ="全局";

function fun(){


console.log(name);


}// 创建一个函数

var obj ={


name:"孙悟空",


sayName:fun


}//创建一个对象

var obj2 ={


name:"猪八戒",


sayName:fun


}

调用函数fun(); 输出全局

想要调用对象中的name时

obj.sayName();

obj2.sayName();输出的都是全局

所以我们要这样写

function fun(){


console.log(this.name);


}

obj.sayName();输出孙悟空

obj2.sayName();输出猪八戒

this可以根据调用者的不同切换不同的值

你可能感兴趣的:(JavaScript this与方法)