1、通用的一些命名約定
- 變量
使用駝峰式(Camel)命名法
var nameToModules = {};
- 私有屬性、變量和方法
以下劃線_開頭
var _privateMethod = {};
- 常量
使用全部字母大寫,單詞直接按采用下劃線分割的命名方式。
var HTML_MODULES = "This is html modules"
- 函數(shù)
函數(shù)名(參數(shù)),使用駝峰式(Camel)命名;
function check(wordLength){};
function checkStringLength(stringSource){};
- 類
類名,使用帕斯卡(Pascal)命名法
類的方法/屬性,使用駝峰式(Camel)命名
注:Pascal的首字母大寫,Camel是首字母小寫。
class TelephoneNumber{
constructor(colorStyle,size){
this.colorStyle = colorStyle;
this.size = size;
};
show(){
alert(`我需要的是${this.colorStyle}風格的設計,并且它的尺寸是${this.size}`)
}
}
//上述采用ES6的語法//
- 枚舉
枚舉變量,使用帕斯卡(Pascal)命名法
枚舉的屬性,使用全部字母大寫,單詞間下劃線分隔的命名方式。
var LoadingState = {
START: 1,
LOADING: 2,
RECEVIED: 3,
RESPONSE: 4
};
2、命名語法
- 函數(shù)名
使用動賓短語。
function getColorStyle(element){};
- 類名
使用名詞。
class Engineer(options){}
- Boolean值類型的變量
使用is或has開頭。
var isAnimal = true;
var hasMorePeople = false;
- Promise對象
使用動賓短語的進行時命名
var loadingData = ajax.get('baseUrl');
loadingData.then(callback);
3、其它
除上述的主觀規(guī)范以外,再JS中命名還有一些強制的規(guī)范:
- 只能由數(shù)字、字母、下劃線以及美元符號$組成;
- 不能以數(shù)字開頭;
- 不能是JS中的保留字和關(guān)鍵字;
- 嚴格區(qū)分大小寫;