思考
这是个很有意思的关键字,我们经常见到它,有时候却不怎么喜欢它,在JavaScript中,它有太多的魔力,太深的羁绊。以至于作为初学者的我们往往很难去把控它。久而久之,我们开始习惯性的远离它,怀疑它。不知道它指向的对象是不是总是我需要的。
为什么要使用this
Java中,this指向本类的对象,因为在定义各类函数的时候,各种操作的时候,会对自身的属性进行一定的操作,需要这样的指针,并且语义的指示代词在面向对象思想的指导下也显得十分自然,尽管初学者仍然会感觉到不太理解。
JavaScript中,似乎在设计的时候,也渴望能拥有类似的功能,但是在函数式编程的框架下,这个this稍显尴尬。它似乎也能按所想的功能进行工作。但在不经意间,它却又成为碧油鸡制造机的魔鬼。
这种功能就是希望this指向本次调用的"类"对象。并且,一段代码可以通过this的耦合,在不同的上下文对象中重复使用。
this提供了一个更为优雅的方式来隐式"传递"一个对象引用,因此可以将API设计得更加简洁并且易于复用。