:-: **js規范**
* * * * *
1. 空格與格式
(1) 縮進
采用4個空格縮進,而不是tab縮進,空格在編輯器中與字符是等寬的,
(2) 變量聲明
永遠在聲明 var (或let const)之后再使用變量,避免污染全局上下文,
每行聲明都應該帶上var (或let const),而不是只有一個var (或let const):
推薦的代碼:
var assert=require('assert');
var fork=require('child_process');
不推薦的代碼:
var assert=require('assert')
,fork=require('child_process');
(3) 空格
在操作符前后加上空格,比如 `+ - * / % =` 等。
推薦的代碼:
var foo='bar' + baz;
不推薦的代碼:
var foo='bar'+baz;
(4) 單雙引號的使用
在Node中使用字符串盡量使用單引號。
(5) 大括號的位置:
一般情況下,大括號無需另起一行:
推薦的代碼:
if (true) {
// some code
}
不推薦的代碼:
if (true)
{
// some code
}
(6) 逗號
逗號用于變量聲明的分割或是元素的分割,
如果逗號不在行結尾,后面需要一個空格:var foo='hello', bar='world';
逗號不要出現在行首。
不推薦的代碼:
var hello={foo:'hello'
,bar:world'
};
(7) 分號
盡管JavaScript編譯器會自動給行尾添加分號,但還是要盡量給表達式的結尾添加分號。
2. 命名規范
(1) 變量命名
變量名采用小駝峰式命名(即除了第一個單詞的首字母不大寫外,其余單詞的首字母都大寫,詞與詞之間沒有任何符號):
var adminUser = {};
(2) 方法命名
與變量一樣,采用小駝峰式命名,不過,方法名盡量采用動詞或判斷行詞匯:
var getUser=function() {};
var isAdmin = function() {};
(3) 類命名
采用大駝峰式命名,即所有單詞的首字母都大寫:
function User() {
}
(4) 常量命名
單詞的所有字母都大寫,單詞之間用下劃線分割:
var PINK_COLOR = 'pink';
(5) 文件命名
盡量采用下劃線分割單詞:
child_process.js
3. 比較操作
如果是“無容忍”的操作,盡量使用'==='代替'=='
? 1
4. 字面量
盡量使用 `{} []`代替`new Object() new Array()`,不要使用`string bool number`對象類型,
即不要調用`new String new Boollean new Number`。
5. 作用域
(1) 慎用 with
這可能導致作用域混亂
(2) 慎用 eval()
6. 類與模塊
(1) 類繼承
1) 一般寫法
function Socket(options) {
stream.Stearm.call(this);
}
2) 推薦使用Nodejs的類繼承方式
util.inherits(Socket,stream.Stearm);
(2) 導出
所有供外部調用的方法或變量均需掛載在 exports 變量上:
exports.addUser() {
//some code
}
當需要將文件當做一個類導出時,需要通過module.exports:
module.exports=Class;