上下文
在典型的JavaScript OO类中,例如
function parent(){
this.a = "parent";
this.child = function(){
console.log(this.a); //undefined
}
}
现在我知道你可以使用:
引用父这个 var that = this;
问题
这被认为是好的,坏的还是中立的做法?我想也许可以指导我在性能或可能的替代方法方面寻找的东西。
注意:我已经阅读了其他一些stackoverflow问题/答案,但他们更多地要求如何使用它而不是使用它的问题,如果有的话。
答案 0 :(得分:3)
这被认为是好的,坏的还是中立的做法?
这是完全正常的做法。它是JavaScript工作原理的基础。只要它适合这种情况,它就没有错。
的主观强> :
使用that
这是我的一个小小的烦恼。称之为that
毫无意义。然而,这是常见的做法。 :-)我经常使用self
,这很常见(不像that
那么常见)。正如评论中指出的那样,稍微会让您打开调试麻烦,因为self
是浏览器上的全局(类似于window
)。我常见的另一个方法是选择一个与事实实际相关的名词,这增加了语义价值。例如,如果this
引用Whatsit
个实例,我可以使用whatsit
或theWhatsit
。下面的另一个建议是_this
(带有下划线)。一个体面的IDE将与this
的颜色不同,从而降低了误读它的可能性,但是存在这种担忧。
但这是纯粹一种风格选择,that
是很多人的选择。