语境

在典型的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实例,则可能使用whatsittheWhatsit。下面的另一个建议是_this(带下划线)。像样的IDE的颜色与this会有所不同,从而减少了您误读它的几率,但是存在这种担忧。

但这纯粹是样式选择,that是很多人选择的选择。

关于javascript - 在子函数中引用parent(this)是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20920118/

10-12 07:22