在socket.io文档中,他们使用的命名法看起来并不像javascript(虽然它是一个javascript库)似乎有些不合适。
此处的示例:http://socket.io/docs/client-api/
这个很清楚(只需指定参数类型和返回值):
IO(url:String, opts:Object):Socket
但这种风格我根本不认识:
IO#protocol
Manager#timeout(v:Boolean):Manager
我几乎可以通过演绎来解决这个问题(虽然我觉得它很难读,因为它看起来很陌生),但这种风格来自何处?为什么?这是来自另一种语言(它肯定不是我以前见过的javascript语法)吗?它有名字吗?是否有这种记录对象,方法,属性的描述?
仅供参考,提出这个问题的想法是因为我将这里的用户推荐给了socket.io文件,然后他们回来说这不是javascript,我是否有javascript文档的链接。我不得不解释它是javascript文档,它只是一种时髦(非类似javascript)的文档样式。
答案 0 :(得分:1)
自从改用object.property
以来,相关页面已被重写,但我记得Object#property
样式,尽管我认为它从未有过名字。
它要解决的问题是,属性/方法可以在{em> {3>}之类的构造函数以及{{3 }}。问题是如何表示后者。有一些相互竞争的用语,例如
array
.join()
,这是socket.io文档现在正在使用的Array.prototype.join
(从技术上讲是正确的,但对于不了解JS原型工作原理的人,可以说比Array#join
还要混乱)Array#join()
,其发明明显不同于Array.join
语法,并且避免与任何现有的JavaScript语法混淆。 Object#prototype
语法在十年前颇为流行,但最终并没有赢得人们的青睐,所以现在遇到它时,它只是令人困惑。