在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指向。