上下文
在典型的 JavaScript OO 类中,例如
function parent(){
this.a = "parent";
this.child = function(){
console.log(this.a); //undefined
}
}
现在我知道您可以使用以下方法引用父级 this:
var that = this;
问题
这是好的、坏的还是中立的做法?而且我想也许可以指导我在性能或可能的替代方法方面寻找注意事项。
注意:我已经阅读了其他一些 stackoverflow 问题/答案,但他们更多地询问如何使用它而不是使用它的问题(如果有的话)。
最佳答案
Is this considered good, bad or neutral practice?
这是完全正常的做法。它是 JavaScript 工作原理的基础。只要适合情况,就没什么问题。
主观:
为此使用 that
是我的一个宠儿。称它为 that
毫无意义。然而,这是常见的做法。 :-) 我经常使用 self
,它很常见(不像 that
那样常见)。正如评论中所指出的那样,它稍微会让您遇到调试麻烦,因为 self
在浏览器上是全局的(它类似于 window
)。我经常做的另一个事情是选择一个与事物实际相关的名词,这增加了语义值(value)。例如,如果 this
引用 Whatsit
实例,我可能会使用 whatsit
或 theWhatsit
。下面的另一个建议是 _this
(带下划线)。一个体面的 IDE 会将其着色为与 this
不同的颜色,从而减少您误读它的几率,但存在这种担忧。
但这纯粹是一种风格选择,那
是很多人做出的选择。
关于javascript - 在子函数中引用 parent(this) 是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20920118/