问题 引用带有井号/井号的javascript实例方法


这个问题类似于 为什么Ruby文档中的方法前面有一个井号?

我理解为什么在Ruby实例方法中使用井号来帮助区分谈论 SomeClass#someMethod 从 SomeObject.someMethod 并允许 rdoc 上班。我知道PrototypeJS的作者很欣赏Ruby(有充分的理由),因此他们使用了 其文档中的哈希标记约定

我的问题是:这是JavaScript开发人员的标准做法还是只是原型开发人员这样做?

问另一种方式,我在评论/文档中引用实例方法是否合适 SomeClass#someMethod?或者我的文档是否应该引用``SomeClass.someMethod`?


10524
2018-04-06 20:07


起源



答案:


我认为它来自javadoc。

http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/javadoc.html#{@链接}


4
2018-04-06 20:16



如果您可以提供相关链接,我会接受您的回答 - Josh
当然是我看到它的第一个地方。它类似于链接的URL页面#片段语法。 - bobince
你去=] - Pablo Cabrera
啊。它具体说明:package.class #member是引用的任何有效程序元素名称 - 包,类,接口,构造函数,方法或字段名称 - 除了成员名称前面的字符应该是哈希字符( #)。 - Josh
“如上所述,哈希字符(#)而不是点(。)将成员与其类别分开。这使得Javadoc工具能够解决歧义,因为点还分隔了类,嵌套类,包和子包。” - Knu


答案:


我认为它来自javadoc。

http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/javadoc.html#{@链接}


4
2018-04-06 20:16



如果您可以提供相关链接,我会接受您的回答 - Josh
当然是我看到它的第一个地方。它类似于链接的URL页面#片段语法。 - bobince
你去=] - Pablo Cabrera
啊。它具体说明:package.class #member是引用的任何有效程序元素名称 - 包,类,接口,构造函数,方法或字段名称 - 除了成员名称前面的字符应该是哈希字符( #)。 - Josh
“如上所述,哈希字符(#)而不是点(。)将成员与其类别分开。这使得Javadoc工具能够解决歧义,因为点还分隔了类,嵌套类,包和子包。” - Knu


不,我还没有遇到另一个使用这种表示法的JavaScript项目。

但是,这样的东西在JavaScript中很有用,因为与许多语言不同 Class.methodName 会引用像类的方法 String.fromCharCode,而不是你经常谈论的实例方法。由...调用的方法 myinstance.methodName 不会 MyClass.methodName 但 MyClass.prototype.methodName,和 MyClass.prototype 打字是一种烦恼。

(标准JS库通过使许多实例方法也具有相应的类方法来混淆它。但它们是不同的函数。)

对于我来说,在someClass#someMethod中引用注释/文档中的实例方法是不是很合适?

做你喜欢/最可读的。这里没有标准。


9
2018-04-06 20:41



好答案。因此,如果您正在阅读我的文档并且我一直使用#来指定实例方法,您认为它会很清楚吗? - Josh
我可以从其他语言中清楚地看到。我不希望JS作者知道它,但希望它可以从上下文中获取! - bobince