首頁 >web前端 >js教程 >Javascript 編碼約定(編碼規格)

Javascript 編碼約定(編碼規格)

亚连
亚连原創
2018-05-31 10:31:541565瀏覽

這篇文章主要介紹了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: &#39;name&#39;,
      value: &#39;value&#39;
    },
  $btn = $(&#39;#btn&#39;);
  //函数体
}

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, &#39;:&#39;, man[i]);
  }
}

#7、switch 選擇

switch (num) {
case 0:
  //do something
  break;
case 1:
  //do something
  break;
...
default:
  //do default
}

建議使用:

var obj = {
  &#39;0&#39;: function() {
    //do somethins
  },
  &#39;1&#39;: function() {
    // do somethis
  }, ...
}
if (obj.hasOwnProperty(num)) {
  obj[num]();
} else {
  //do default
}

8、使用parseInt() 的數值約定

1) 每次都具體指定進位參數:

var month = &#39;09&#39;, day = &#39;08&#39;;
month = parseInt(month, 10); //不加进制参数便会转换为八进制
day = parseInt(day, 10);

2) 其他常用的將字串轉換為數值的方法:

+&#39;08&#39;;
Number(&#39;08&#39;);

9、字面模式


##不建議使用建構子來定義:

// built in constructors (avoid)
var o = new Object();
var a = new Array();
var re = new RegExp(&#39;[a-z]&#39;, &#39;g&#39;);
var s = new String();
var n = new Number();
var b = new Boolean();
throw new Error(&#39;message&#39;);

建議使用更優的字面量模式:##

// literals and primitives (prefer)
var o = {};
var a = [];
var re = /[a-z]/g;
var s = &#39;&#39;;
var n = 0;
var b = false;
throw {
  name: &#39;Error&#39;,
  message: &#39;message&#39;
}

10、其他

1) 變數內的簡寫單字如果在開頭則全小寫:xmlDocument,如果不在開頭則全大寫:loadXML

#2) 變量必須是有意義的英文,禁止拼音上面是我整理給大家的,希望未來會對大家有幫助。

相關文章:

Angular 4.x Ionic3踩坑之Ionic3.x pop反向傳值詳解

基於vue中css預載使用sass的設定方式詳解################微信小程式中實作手指縮放圖片的範例程式碼################################################################### #####################

以上是Javascript 編碼約定(編碼規格)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn