前端代碼規(guī)范

一、格式化

1、代碼縮進

4 個空格字符為一個縮進層級

2、語句結尾

每行語句結束必須使用分號結尾(“:”)

3、行的長度

每行語句不超過80個字符

4、換行

運算符后換行,第二行追加兩個縮進

 callAFunction(document,element,window,"somes tring",trrue,
         navigator)

5、空行

  • 在方法之間
  • 在方法中的局部變量和第一條語句之間
  • 在多行或單行注釋之前
  • 在方法內(nèi)的邏輯片段之間出去空行,提高可讀性

6、命名

a、變量 :

  • 下劃線連接 "_"
  • 第一個單詞為名詞
 var user_name = "ding";

b、函數(shù):

  • 使用小駝峰命名法(首字母小寫,后續(xù)每個單詞首字母都大寫)
  • 第一個單詞為動詞(can、has、is、get、set等)
function getUserName () {}

c、構造函數(shù):

  • 使用大駝峰命名法(首字母大寫,后續(xù)每個單詞首字母都大寫)
  • 單詞為名詞
function Person() {}

d、常量:

  • 下劃線連接 "_"
  • 所有單詞均大寫
 var MAX_COUNT = 10;

7、直接量

a、字符串:

  • 使用雙引號: ""
  • 拼接html使用單引號:''
var user_name = "ding";
var html = '<div class="demo"></div>'

b、數(shù)字:

  • 完整書寫
例如: 1.0
var user_number = 1.0;  
//而不是
var user_number = 1.; 
例如: 0.1
var height = 0.1;  
//而不是
var height = .1;  

c、對象:

  • 使用 {} 創(chuàng)建
var user_info = {
         name : "ding",
         age : 24
}

d、數(shù)組:

  • 使用 [] 創(chuàng)建
var numbers = [1,2,3,4] 

e、字符串:

  • 使用"" 創(chuàng)建
var name = "ding";

二、注釋

1、單行注釋

  • 兩個斜線
  • 增加空行
var user = {}
//空行
//定義用戶信息
var user_info = {}

2、多行注釋

“/*”開始,“*/”結束

/*注釋*/
var name = "ding";
//空行
/*
 *兩行注釋
 *第二行
 */
var age = 25;

3、文檔注釋

“/**”開始,“**/”結束

/**
返回一個對象,包含其屬性
return object
**/
function getObject (name) {
    var obj = {
        name: name,
        age: 25
    }
    return obj;
}

三、語句和表達式

1、花括號的對齊方式和塊語句間隔

if ( condition ) {
    doSomething();
} else {
    doSomethingElse();
}

2、switch語句

switch (condition)
    case "one"
         //代碼
         break;
    case "two"
         //代碼
         break;
    default
         //代碼或者無邏輯

3、with語句 : 禁止使用

4、for循環(huán)

var values = [1,2,3,4],
    i,len;
for (i=0, len=values.length; i < len; i++) {
    if ( i != 2 ) {
        coonsole.log(i);
    }
}

4、for-in循環(huán)

  • 以為for-in 不僅遍歷對象的實例屬性,而且還遍歷從原型繼承來的屬性,
    所以使用hasOwnProperty()過濾實例屬性
  • 禁止遍歷數(shù)組
var i;
//空行
 for (i in obj) {
      if ( Object.hasOwnProperty(i) ) {
          console.log(i);
          console.log(obj[i]);
      }
}

5、變量和函數(shù)聲明

必須先定義后調(diào)用

var name = "ding";
console.log(name);
function getName () {}
getName();

6、立即調(diào)用的函數(shù)

var value = (function() {
    return {
        msg: "123"
    }
}());

7、相等判斷

使用 "=== 與 !==" 替代 "== 與 !="

console.log(1 == "1"); // true
console.log(1 === "1"); // false

7、eval(),setTimeout(),setInterval()

a、eval() : 只有別無他法的時候才使用eval()

eval("alert('demo')");

b、setTimeout()與setInterval() : 禁止使用字符串參數(shù),要使用function

setTimeout(function() {
    document.body.style.background = "red";
},50);
setInterval(function() {
    document.title = (new Date());
},1000);
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容