【问题标题】:Referring to javascript instance methods with a pound/hash sign引用带有井号/井号的 javascript 实例方法
【发布时间】:2010-04-06 20:07:11
【问题描述】:

这个问题类似于Why are methods in Ruby documentation preceded by a hash sign?

我理解为什么在 Ruby 实例方法中以井号开头,有助于区分谈论 SomeClass#someMethod 和 SomeObject.someMethod 并允许 rdoc 工作。我知道 PrototypeJS 的作者很欣赏 Ruby(有充分的理由),所以他们使用 hash mark convention in their documentation。

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

换一种方式问,我将 cmets/documentation 中的实例方法称为SomeClass#someMethod 是否合适?还是我的文档应该参考 ``SomeClass.someMethod`?

【问题讨论】:

    标签: javascript documentation instance-methods


    【解决方案1】:

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

    不过,这样的东西在 JavaScript 中很有用,因为与许多语言不同,Class.methodName 会引用像 String.fromCharCode 这样的类方法,而不是您经常谈论的实例方法。 myinstance.methodName 调用的方法不是MyClass.methodName 而是MyClass.prototype.methodName,而MyClass.prototype 是不断输入的烦恼。

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

    将 cmets/documentation 中的实例方法称为 SomeClass#someMethod 对我来说是否合适?

    做你喜欢/发现最易读的事情。这里没有标准。

    【讨论】:

    • 好答案。因此,如果您正在阅读我的文档并且我一直使用 # 来指定实例方法,您认为这对您来说很清楚吗?
    • 其他语言对我来说很清楚。我不希望 JS 作者知道它,但希望它可以从上下文中理解!
    【解决方案2】:

    【讨论】:

    • 当然是我第一次看到它的地方。这类似于 URL page#fragment 链接的语法。
    • 啊。它特别说明:package.class#member 是任何被引用的有效程序元素名称——包、类、接口、构造函数、方法或字段名称——除了成员名称前面的字符应该是哈希字符 ( #)。
    • "如前所述,哈希字符 (#),而不是点 (.) 将成员与其类分开。这使 Javadoc 工具能够解决歧义,因为点也分隔类,嵌套类、包和子包。”
    • 从这个答案中的 javadoc.html 链接中,您会发现很多信息。哈希表示法的相关信息和原因运行单词搜索:“package.class#member”以将您放在正确的位置。
    • 指向 JavaDoc 定义的不同语法的更直接/完整的链接,当有人使用此表示法时,您可能还会看到:docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/…
    猜你喜欢
    • 2011-02-04
    • 1970-01-01
    • 2016-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-16
    相关资源
    最近更新 更多