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