2009-10-08 84 views
13

我知道這個問題沒有答案,但我很想知道其他人的想法。JavaScript對象的大小寫慣例

在像Java這樣的語言中,開始使用大寫字母和小寫字母的對象是一種慣例。但是JavaScript呢,什麼都是對象?

我見過一些人建議只資本化被視爲類的對象;即具有原型的功能對象,這些功能對象旨在與新的運營商一起使用。這些對象的實例將被小寫。

這聽起來合乎邏輯。但是,對於只有一個實例的「全局對象」,你做了什麼?大多數人似乎將這些資本化(例如,數學Ext.History)。這直觀地感覺正確,但很難用一致的規則來證明它的正確性。

那麼用作命名空間的對象呢?這些似乎是各地圖:YUIExt.utiljQuery的

請提供你的心臟,認爲宗教觀點世俗合理化。

回答

27

你可以按照這個Google JavaScript Style Guide

一般情況下,使用functionNamesLikeThis,variableNamesLikeThis,ClassNamesLikeThis,EnumNamesLikeThis,methodNamesLikeThis和SYMBOLIC_CONSTANTS_LIKE_THIS。

+0

你的鏈接建議保存文件名,比如'filenameslikethis.js'。你知道爲什麼一切都是小寫嗎?我認爲這看起來很難閱讀。 – ayjay 2014-06-26 18:06:07

+1

寫有「...並且除了'-'或'_'(更喜歡'-'到'_')」應該不包含標點符號。所以它也推薦'file-name-like-this.js' – 2014-09-11 08:49:59

+0

如果一個變量包含一個類,該怎麼辦? 'var ConstructorClass = classMap ['className']'或'var constructorClass = classMap ['className']'? – 2016-11-21 13:17:58

1

我同意定義「類」(使用空氣報價)的函數的大小寫,這些函數隨後將使用新操作符立即執行。

但就是這樣。全局對象只是全局的。將它們命名爲你想要的。

我只能確定它們是獨一無二且足夠描述的,以免其他開發人員在以後意外覆蓋它們。

0

約定是沒有約定。做你想做的,只要一致。我建議遵循Java風格,忽略你正在使用的庫(dojoExtYUI$等)的任何約定。