国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

Javascript 編碼約定(編碼規范)

2024-05-06 16:42:57
字體:
來源:轉載
供稿:網友

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/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 澎湖县| 资溪县| 苍梧县| 和林格尔县| 手机| 两当县| 大新县| 疏勒县| 鸡西市| 古丈县| 枝江市| 南靖县| 家居| 隆子县| 望城县| 潜江市| 平陆县| 博乐市| 奉新县| 文化| 武鸣县| 太谷县| 东乡县| 浏阳市| 从化市| 大悟县| 潢川县| 灵璧县| 太仆寺旗| 皮山县| 东莞市| 盘山县| 霸州市| 海晏县| 东安县| 黄冈市| 绍兴市| 哈尔滨市| 象山县| 靖江市| 甘南县|