黑马程序员技术交流社区

标题: 【郑州校区分享】认识JavaScript中的this [打印本页]

作者: 我是色色    时间: 2017-9-11 16:03
标题: 【郑州校区分享】认识JavaScript中的this
本帖最后由 我是色色 于 2017-12-20 10:30 编辑

【郑州校区分享】认识JavaScript中的this
郑州校区就业部

       很多同学在学习编程时, 特别是零基础的同学, 在学到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:}



作者: 我是楠楠    时间: 2017-9-13 09:24





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2