這篇文章主要介紹了Javascript 編碼約定(編碼規範),需要的朋友可以參考下
#1、使用strict 模式
在一個作用域(包括函數作用域、全域作用域)中,可以使用
"use strict";
來開啟strict 模式。
2、縮排
用 Tab 鍵進行程式碼縮排,以節省程式碼大小,使用4個空格的寬度來進行縮排(JSLint 建議)。
3、符號
1) 大括號
與語句放同一行,放於最後面;僅有一行語句,也使用大括號:
if (true) { //true } else { //false }
while (true) { //alert(1); }
2) 空格
在逗號、分號、冒號後加空格;
在運算子前後加空格;
在大括號開始符號之前;
在大括號結束符號和else、while 或catch 之間;
在for 的各個部分;
如:
var a = [1, 2, 3]; var obj = { name: 'name', value: 'value' }; for (var i = 0; i < 10; i++) {} function func(a, b, c) {} c = a + b; if (a && b || c) { //if } else { //else } try { //try } catch(err) { //catch }
3) 所有語句結束後,使用; 號結束
4、命名
物件:使用駝峰式,如:MyClass
方法、變數:使用混合式,如:getName(), myName
常數:大寫加上底線,如:MY_NAME
5、單一var 模式
只使用一個var 在函數頂部進行變數聲明,作用如下:
1) 提供一個單一的位址已查找到函數所需的所有局部變數
2) 防止出現變數在定義前就被使用的邏輯錯誤
3) 幫助牢記要宣告變量,盡可能少使用全域變數
4) 較少的編碼
function func() { var a = 1, b = 2, sum = a + b, obj = { name: 'name', value: 'value' }, $btn = $('#btn'); //函数体 }
6、迴圈
1) for 迴圈
var i, arr = []; for (i = arr.length; i--;) { //arr[i]; }
註:
for (var i = 0; i < document.getElementsByName().length; i++) { //document.getElementsByName()[0]; }
這種方式每次對i 進行長度比較的使用對會進行document 的查詢,而通常DOM 操作是非常耗時的。
2) while 迴圈
var arr = [], i = arr.length; while (i--) { //处理 }
3) for-in 迴圈
var i, hasOwn = Object.prototype.hasOwnProperty; for (i in man) { if (hasOwn.call(man, i)) { //过滤 console.log(i, ':', man[i]); } }
7、switch 選擇
switch (num) { case 0: //do something break; case 1: //do something break; ... default: //do default }
建議使用:
var obj = { '0': function() { //do somethins }, '1': function() { // do somethis }, ... } if (obj.hasOwnProperty(num)) { obj[num](); } else { //do default }
8、使用parseInt() 的數值約定
1) 每次都具體指定進位參數:
var month = '09', day = '08'; month = parseInt(month, 10); //不加进制参数便会转换为八进制 day = parseInt(day, 10);
2) 其他常用的將字串轉換為數值的方法:
+'08'; Number('08');
9、字面量模式
#不建議使用建構子來定義:
// built in constructors (avoid) var o = new Object(); var a = new Array(); var re = new RegExp('[a-z]', 'g'); var s = new String(); var n = new Number(); var b = new Boolean(); throw new Error('message');
建議使用更優的字面量模式:
// literals and primitives (prefer) var o = {}; var a = []; var re = /[a-z]/g; var s = ''; var n = 0; var b = false; throw { name: 'Error', message: 'message' }
10、其他
1) 變數內的簡寫單字如果在開頭則全小寫:xmlDocument,如果不在開頭則全大寫:loadXML
2) 變數必須是有意義的英文,禁止拼音
總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多相關教學請造訪JavaScript影片教學!
相關推薦:
以上是Javascript 編碼規格(總結)的詳細內容。更多資訊請關注PHP中文網其他相關文章!