JavaScript关键字this指向

Posted nobugnobb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript关键字this指向相关的知识,希望对你有一定的参考价值。

在js中this始终指向一个调用函数的那个对象


var a=‘有种你干掉我啊‘;
//纯粹调用函数

function test(){
console.log(this.a);//默认指向全局对象
}
//test();//=>windows.test()


//作为对象的方法被调用
Function.prototype.log=function(){
console.log(this.a);
}
//此时t为一个函数对象,注意js中一切皆为对象,函数是特殊的对象,具有prototype而已
//t函数继承了Function.prototype原型的方法用有log方法
//this指向原理,始终指向一个调用函数的对象,此时log()中的指向this对象
t.log();//=>function t(){}
function t(){}
var tt={a:1000};
tt.log=t.log;
tt.log();//1000

//作为构造函数调用
function obj(){
  this.a=99;
}
var mm=new obj();
console.log(mm.a);

//作为函数的apply方法调用,传入的第一个参数代表这个方法函数的调用对象
mm.log=test;
mm.log.apply();

以上是关于JavaScript关键字this指向的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript全解析——this指向

JavaScript中this关键字的指向问题

JavaScript中的this

JavaScript中this的指向问题

JavaScript中的this的指向

图解 javascript this 指向