編寫可維護的js代碼-編程風格筆記

來源:互聯網
上載者:User

編寫可維護的js代碼-編程風格筆記

1、基本格式化

縮排層級:4個空格(把tab設成4個空格) 語句結尾:保留;(雖然分析器有自動分號插入機制) 行的長度:80個字元 空行:確保語義有關聯的代碼展現在一起 命名:變數和函數遵循小駝峰命名法,小寫字母開始,後面每個單字首大寫
變數命名首碼名詞myName
函數命名首碼動詞setName()
常量MAX_COUNT大寫字母和底線
建構函式大駝峰命名法AnotherName 直接量:
字串:推薦” “,雖然和’ ‘一樣
整數和浮點數:8進位廢棄
null:Null 物件指標
初始化一個變數,這個變數可能賦值為一個對象
和一個已經初始化的變數比較,這個變數可以是也可以不是一個對象
函數的參數期望是對象時,用作參數傳入
函數傳回值期望是對象時,用作傳回值傳出
不要用null檢測是否傳入某個參數
不要用null檢測未初始化的變數
undefined:var聲明但未初始化,盡量不使用undefined,使用 var person=null;
對象:建議使用對象直接量,在直接量中直接寫出所有屬性;而非顯式建立執行個體然後添加屬性的做法。
var book={    title:"js book",    author:"wang"};

數組直接量:

var numbers={1,2,3,4};

2、注釋

單行注釋:
//好的寫法if (condition) {    //注釋    allowed();}

注釋前有空行。
代碼尾部注釋,代碼結束到注釋間至少有一個縮排。

多行注釋:推薦java風格
if (condition){/* * 注釋 * 注釋 */ allowed();

注釋之上有空行
*號之後有空格

難於理解的代碼,可能被誤認為錯誤的代碼,hack推薦添加註釋
方法,建構函式,包含文檔化方法的對象推薦加文檔注釋

3、語句和運算式

塊語句推薦使用{}包裹
if for while do…while try…catch…finally

{}推薦使用java風格

if (condition) {    doSomething();} else {    doSomethingElse();}
switch語句
switch(condition) {    case "first":        //代碼        break;    case "second":    case "third":        //代碼        break;    case "fourth":        //代碼        break;    //沒有default

每條case語句相對於switch縮排一個層級
第二條case語句開始,每條case語句前後各有一個空行
case語句連續執行緊鄰
defau語句不用時注釋

with語句:避免使用 for迴圈:中斷,continue ,break,經常遍曆數群組成員 for-in迴圈:遍曆對象屬性,返回屬性名稱,不能遍曆數群組成員

4、變數函數和運算子
js編程的本質是編寫一個個函數來完成任務,好像js即可以物件導向,又可以面向過程,還可以函數式編程。

變數聲明:變數的聲明提前,函數內部任意地方定義變數和在函數頂部定義變數是完全一樣的,但推薦都放在頂部 函式宣告:同樣函式宣告也會提前
推薦函式宣告在使用前
函式宣告不推薦在語句塊內
內部局部函式宣告建議緊跟變數聲明之後 匿名函數,推薦函式宣告被()包裹
var value = (function() {    //    return {        message: "hi"    }}());
推薦局部使用strict 模式 強制類型轉換:== !=會強制類型轉換,推薦=== !== eval() 將傳入的字串當代碼來執行,禁止在封閉的範圍中使用它建立新變數和函數 原始包類型:String,Boolean,Number,每種類型代替全域範圍中的一個建構函式,並對應原始值的對象,原始包類型主要是讓原始值具有對象般的行為。String是字串,是原始類型,可以使用方法,原因是方法調用時建立新的執行個體,但使用後新執行個體銷毀了。 不推薦手動建立這些對象
var name=new String("wang"); //不推薦

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.