很多同学在学习编程时, 特别是零基础的同学, 在学到web阶段 JavaScript课程过程中, 对于关键字 this, 很不理解, 不知道该如何简单明了的理解并学习这个知识点, 那么今天我们就一起来分析一下 JavaScript中this关键字到底是个什么鬼

this是Javascript语言的一个关键字。那么this到底是真名呢?简而言之,this指的是函数的调用者。看一个例子: var name = "张三"; function test() { console.log(this.name); } var person = new Object(); person.name = "李四";

test.call(); test.call(person); 大家看一下结果是什么。第一个log是张三,第二个是李四。

我们分析一下,test.call();是window调用了test方法,所以在第一次执行test函数时,this指的是window对象,第二次调用test方法是test.call(person);这时调用test函数的对象时person,此时函数中的this指的就是person对象。

我们再看一个例子: function test2() { this.x = 1; } var o = new test2(); console.log(o.x); log结果是1。 通过构造方法生成一个新的对象o,此时该构造方法中的this指的就是这个新生成的对象。 那么现在你对”this指的是函数的调用者”这句话理解了吗?