很多同学在学习编程时, 特别是零基础的同学, 在学到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指的是函数的调用者”这句话理解了吗?
传智播客·黑马程序员郑州校区地址
河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
联系电话 0371-56061160/61/62
来校路线 地铁一号线梧桐街站A口出
{:8_507:}