【问题标题】:What is this javascript documentation style called?这种 javascript 文档样式叫什么?
【发布时间】:2014-10-19 08:53:55
【问题描述】:

在 socket.io 文档中,他们使用的命名法看起来不像 javascript(尽管它是一个 javascript 库),看起来有点不合时宜。

此处的示例:http://socket.io/docs/client-api/(此后页面已更改,这里是 web archive snapshot as of 2014

这个就够清楚了(只是指定参数类型和返回值):

IO(url:String, opts:Object):Socket

但是这种风格我完全不认识:

IO#protocol
Manager#timeout(v:Boolean):Manager

我几乎可以通过演绎来弄清楚(虽然我觉得很难读,因为它看起来很陌生),但是这种风格从何而来,为什么?这是来自另一种语言的吗(它肯定不是我见过的 javascript 语法)?它有名字吗?是否有这种记录对象、方法、属性的风格的描述?


仅供参考,提出这个问题的想法是因为我在 SO 上将一个用户推荐给了 socket.io 文档,他们回来说这不是 javascript,我是否有指向 javascript 文档的链接。我不得不解释它是 javascript 文档,它只是一种时髦(非 javascript 类)的文档风格。

【问题讨论】:

    标签: javascript socket.io documentation


    【解决方案1】:

    自从改用object.property 后,相关页面已被重写,但我记得Object#property 样式,尽管我认为它没有名字。

    它试图解决的问题是属性/方法可以在构造函数(如Array.isArray())以及实例(如['foo','bar'].join(' '))上使用。问题是如何表示后者。有一些相互竞争的指称,例如

    • array.join(),这是 socket.io 文档现在使用的内容
    • Array.prototype.join(技术上正确,但对于不知道原型如何在 JS 中工作的人来说,可能比 Array#join 更令人困惑)
    • Array#join(),被发明出来与 Array.join 语法明显不同,并避免与任何现有的 JavaScript 语法混淆。

    Object#prototype 语法十年前有点流行,但最终没有成功,所以现在遇到它只是感到困惑。

    【讨论】:

      猜你喜欢
      • 2011-04-06
      • 1970-01-01
      • 1970-01-01
      • 2016-09-13
      • 2019-11-19
      • 2016-02-06
      • 1970-01-01
      相关资源
      最近更新 更多