我想知道为什么像EmberJS这样的框架使用_super
方法来调用扩展对象上的重写方法而不是(在我看来)更符合逻辑this.super
。
是否有特定原因,例如super
是javascript中的保留关键字?因此,您无法将变量或命名函数分配给名称super
。分配给this.super
的函数是匿名函数吗?
答案 0 :(得分:1)
_super可用于在可能已设置的其他函数之间区分它。这可能是为了表明它是如何特殊的,或与其他变量不同。或者它可以显示它是私人的。
请参阅:
When do you make an underscore in front of an instance variable?
How does an underscore in front of a variable in a cocoa objective-c class work?
编辑:就像巴马尔所说的那样(除了少得多的话),这是一种编码风格,没有别的。答案 1 :(得分:1)
_
表示私人会员。您只应该从里面的访问_super
,而不是从外面访问。