初学js的时候,第一次用到this是带着比葫芦画瓢的方法用的,照着例子生搬硬套,根本没想这个地方为什么可以用this,那个地方怎么不可以呀.还有就是这个this代表什么呢?
随着学习的深入,理解了this的含义和用法,但还是会遇到一些小坑,this这个东西最烦undefined了.他的灵活多变最让人头疼.避免bug,慎用this啊
总结:
1:每个行为都有其主体,this就代表那个主体.当用this的时候,不妨把this翻译成我的,this.XXX就是我的XXX
2:当它为一个对象上的方法的时候,this指代当前的这个对象。
3.它被当做一个函数来调用的时候,严格模式下,this是undefined,非严格模式下是全局对象,浏览器中就是window.通过在对象内将this赋值给that,可以使函数模式下调用that来访问指定对象。
ps:所谓严格模式嘛,就是给js加一个声明:"use strict";然后写的js代码就必须严格规范了.js弱类型语言独有特质.
4.类的实例上的方法中的this指向当前的实例
小坑:
方法里的this表示的是那个对象,是执行决定的主体,和在那儿定义的没有关系。