我知道这个问题没有答案,但我很想知道其他人的想法。
在像Java这样的语言中,开始使用大写字母的类和使用小写字母的对象是一种惯例。但是JavaScript,一切都是对象呢?
我见过有些人建议仅将对象视为类;即具有原型的函数对象,旨在与 new 运算符一起使用。这些对象的实例会小写。
这听起来合乎逻辑。但是你对“全局对象”做了什么呢,那里只有一个实例?大多数人似乎都将这些资本化(例如,数学或 Ext.History )。这种直觉感觉很合适,但很难用一致的规则来证明这一点。
那么用作名称空间的对象呢?这些似乎遍布地图: YUI , Ext.util , jQuery 等。
请为您心中的宗教观点提供世俗的理性化。
答案 0 :(得分:36)
您可以按照Google JavaScript Style Guide
进行操作一般情况下,使用functionNamesLikeThis,variableNamesLikeThis,ClassNamesLikeThis,EnumNamesLikeThis,methodNamesLikeThis,和SYMBOLIC_CONSTANTS_LIKE_THIS。
答案 1 :(得分:2)
惯例是没有惯例。做你想做的,只要保持一致。我建议遵循Java风格,忽略您碰巧使用的库(dojo
,Ext
,YUI
,$
等)的惯例。
答案 2 :(得分:0)
我同意定义“类”(使用空气引用)的函数的大写,而这些函数随后将使用new运算符进行实例化。
但就是这样。全球对象只是全球性的。将它们命名为你想要的。
我只能确保它们具有独特性和描述性,以至于日后不会被其他开发人员意外覆盖。
答案 3 :(得分:0)
根据道格拉斯·克罗克福德的建议:
“必须与新前缀一起使用的构造函数应以大写字母开头。如果省略了必需的新代码,则JavaScript不会发出编译时警告或运行时警告。如果缺少新消息,则可能会发生不良情况,因此大写约定是重要的防御措施。”