JS程式設計最佳實踐

2022-09-02 21:30:26 字數 1688 閱讀 8033

最近花了一周時間把《編寫可維護的js》 閱讀了一遍, 現將全書提到的js程式設計最佳實踐總結如下, 已追來者!

1.return 之後不可直接換行, 否則會導致asi(自動分號插入機制)會在return 後插入乙個分號。

2.一行語句最多不超過80個字元, 如果超過則應該在運算子後換行,並且追加兩個縮排。

3.採用駝峰式命名,變數字首為名詞如:myname 函式應該以動詞開始如:getname,常量應該以大寫字母命名,如:max_count, 建構函式首字母大寫。

4.數字的寫法: 整數:count =10 小數 count =10.0; 十六進製制寫法0xa2 科學計數法1e23  不推薦使用八進位制寫法。

5.如下場景應該使用null:

1.  為可能賦值為物件的變數初始化。

2. 在函式中, 如果引數期望是物件, 當做引數傳入, 返回值同理。

6.如下場景不應該使用null:

1.檢測引數是否傳入。

2.檢測未初始化的變數。

7.null應該當做是物件的佔位符。

8.undefine應該避免使用。

9.宣告物件和陣列使用字面量直接量。如 var arry =[1,2,3];

10.case語句應該以break結尾。

11.禁止使用with語句。

12.fo-in迴圈會遍歷物件以及物件原型的屬性,所以應該使用hasownproperty()來過濾掉原型屬性。如果需要遍歷原型的屬性, 應該加上注釋。

13.陣列應該使用 for迴圈 遍歷。

14.盡量避免變數提公升。

15.不要使用全域性的嚴格模式, 盡量在函式中使用。

16.推薦使用 === 來比較

17.禁止使用eval() 和function

18.禁止使用 string name 這樣的原始包裝型別來建立新物件。 例如 var name = new string("name");

19.當需要通過js來修改樣式時, 應該操作classname。推薦使用html5的方法:ele.classlist.add("classname");

20.避免使用全域性變數。推薦以一下幾種方式替代:

1.建立唯一的全域性物件。

2.建立命名空間

3.以函式形式封裝起來。

21.事件處理有兩個原則:

1.隔離應用邏輯

2.不要分發事件物件。

用例: handlclick:

function

(event)

}; addlistener(ele,"click, function(event)

22.避免 與null比較, 除非確實需要與null比較。應該使用typeof, typeof也不應該對null進行檢測。

23.檢測引用值應該使用value instanceof constructor

24.檢測陣列使用isarry()方法

25.檢測屬性應該使用in 關鍵字  if("cout" in object){}; ie8以下不支援 可以使用hasownproperty();

26.配置資料應該與應用程式抽離出來, 最好形成單獨的配置檔案。

27.多人開發專案中對於物件的處理遵循以下幾條原則:

1.如果不是自己建立的物件,不要修改他們, 包括:原生物件, dom物件, bom物件, 類庫物件。

2.已經存在的物件,(別人建立的物件), 不覆蓋方法, 不新增方法, 不刪除方法。

js 最佳實踐總結

明確要獲取的部分,以最精準的方法獲取資料 例1 獲取8位數字 var str abcd12345678 方法一 var newstr str.slice 4 方法二 推薦 var newstr str.slice 8 注 首先要確定8位數字是一定在後面的,我遇到的問題就是,前面的字母個數發生了變化 ...

js 最佳實踐相關

建立陣列被認為效率更高。使用語言本身自帶的函式一般會比你自己寫的方法效率更高。在執行數量較高時效率最高,而且相較於 string.prototype.concat 與 array.prototype.join 書寫也更為便捷。foreach處理陣列更佳?除了for迴圈,遍歷類陣列物件的另一種方式 v...

C程式設計最佳實踐

意想不到的麻煩。各種 c 實現通常在某些方面各有不同。堅持使用語言中可能對所有實現都是公共的部分會有幫助。通過這樣做,您更容易將程式移植到新的機器或編譯器,並且不大會遇到編譯器特殊性所帶來的問題。例如,考慮字串 2 1 這裡利用了 最大適合 maximal munch 規則。如果可以巢狀注釋,則可將...