91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Javascript 編碼約定(編碼規范)

發布時間:2020-10-22 00:12:45 來源:腳本之家 閱讀:134 作者:mdxy-dxy 欄目:web開發

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) 變量必須是有意義的英文,禁止拼音

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

镇江市| 白沙| 临颍县| 永昌县| 赤水市| 湛江市| 府谷县| 京山县| 山阴县| 华阴市| 北海市| 清徐县| 资源县| 师宗县| 博乐市| 讷河市| 汨罗市| 增城市| 天柱县| 洱源县| 榆林市| 五家渠市| 博野县| 繁昌县| 长兴县| 阜南县| 淮滨县| 伊春市| 东光县| 镇坪县| 大埔县| 西乌珠穆沁旗| 如东县| 青神县| 玉山县| 高邑县| 灵丘县| 蓬莱市| 普兰县| 龙海市| 名山县|