在javascript中,this关键字是一个非常重要的概念。它可以用来指向当前执行代码的对象。它的指向取决于函数的调用方式,在普通函数中,this指向全局对象;在对象的方法中,this指向当前对象;在构造函数中,this指向新创建的对象。
使用方法
1、在普通函数中:
function foo(){
console.log(this); //this指向全局对象
}
2、在对象方法中:
var obj = {
name:'obj',
sayName:function(){
console.log(this.name); //this指向当前对象obj
}
}
3、在构造函数中:
function Person(name){
this.name = name; //this指向新创建的对象
console.log(this.name);
}
4、使用call和apply方法:
function foo(){
console.log(this.name);
}
var obj1 = {
name:'obj1'
}
foo.call(obj1); //使用call方法调用函数,this指向obj1
var obj2 = {
name:'obj2'
}
foo.apply(obj2); //使用apply方法调用函数,this指向obj2
5、使用bind方法:
function foo(){
console.log(this.name);
}
var obj = {
name:'obj'
}
var newFoo = foo.bind(obj); //使用bind方法绑定this指向obj
newFoo(); //调用新函数,this指向obj
this关键字可以用来指向当前执行代码的对象,具体指向取决于函数的调用方式,也可以使用call,apply和bind方法来改变this指向。