DIV CSS 佈局教程網

JavaScript使用規范
編輯:JavaScript基礎知識     
匿名函數

要避免全局變量泛濫, 可以考慮使用匿名函數, 把不需要在外部訪問的變量或者函數限制在一個比較小的范圍內。

例如以下代碼:

<script>
function func1(){
var list = ["a", "b", "c"];

for(var i = 0; i < list.length; i++){
//..
};
}
func1(); // 自動運行
</script>
這段代碼的作用是在頁面加載的時候自動執行某些操作, 並不需要被外部調用, 但是它執行過後卻留下了一個全局的函數。

像這種情況, 非常有必要使用匿名函數:

<script>
(function func1(){
var list = ["a", "b", "c"];

for(var i = 0; i < list.length; i++){
//..
};
})(); // 自動運行
</script>
匿名函數的格式:

(function(){
// 代碼塊
})();
如果要帶參數的話:

(function(arg1, arg2, argN){
//..
})(arg1, arg2, argN);




命名空間

還有另外一個方法可以減少全局變量, 那就是命名空間, 在JS中可以用"對象-屬性"來模擬命名空間;

window.com = {}

window.com.bytter = {}

window.com.bytter.hello = function(){
alert("hello");
}
如果你要給某個已經存在的頁面增加功能, 可能要增加十多個函數, 而那個頁面已經存在大量的全局變量和函數, 甚至還有函數跟你新增的函數同名, 怎麼辦?

命名空間是比較好的選擇, 你可以創建一個命名空間, 把你的新函數都放在那個命名空間之下, 例如:

<button type="button" onclick="pg.check.userAcc()">檢查用戶名</button>
<button type="button" onclick="pg.check.userAcc()">檢查帳號</button>

<script>
window.pg = {}

window.pg.check = {
// 檢查用戶名
userName: function(){
//..
},
// 檢查帳號
userAcc: function(){
//..
}
};
</script>
互不干擾

結合上述的匿名函數和命名空間的使用, 可以把一個頁面中自己維護的代碼與其它的代碼分隔開來, 將與外部代碼的耦合降低到最小。

<script>
// 頁面命名空間
window.pg = {}


// 檢查用戶信息
// 作者:張三
// 最後更新: 2012.12.31
(function(){

// 私有變量
var a, b, c;

// 檢查用戶信息的相關方法
window.pg.check = {
// 檢查用戶名
userName: function(){
//..
},
// 檢查帳號
userAcc: function(){
//..
}
};

})(); // end 張三的代碼


// xxx功能
// 作者:李四
// 最後更新: 2012.1.1
(function(){
window.pg.xxx = {
//..
}
})(); // end 李四的代碼

</script>
變量聲明

變量必須在使用前用var進行聲明;

變量的聲明應該放在代碼塊或者函數的頭部;

可在一行內聲明多個變量, 但要考慮美觀易讀;

// 銀行名稱, 銀行帳號
var type, acc;


// 銀行名稱, 銀行帳號
var type = "中國銀行", acc = "xxxxxx";


var type = "中國銀行", // 銀行名稱
acc = "xxxxxx"; // 銀行帳號
盡量使用易於理解的變量名,如:

var bankType = "中國銀行",
bankAccount = "xxxxxx";
命名

普通變量名和函數名采用"小駝峰式命名法", 如:firstName、lastName

作為構造函數的函數采用"大駝峰式命名法", 如:

var Person = function(){
//..
}

var me = new Person();
常量用大寫和下劃線表示,如:

var ROOT_PATH = "/v10/";
分號

每條語句必須使用分號結尾(特別是需要壓縮的js,省略分號常常會導致壓縮失敗);

大括號

if語句、函數定義、try語句等帶大括號的結構, 左大括號應緊跟前面的部分:

// good
var Person = function(){
//..
}

// bad
var Person = function()
{
//..
}
使用復合語句時不要省略大括號{}

// good
for(var i = 0; i < ary.length; i++){
list.push(ary[i]);
}

// bad
for(var i = 0; i < ary.length; i++)
list.push(ary[i]);
以提高代碼可讀性為前提,允許例外:

if(!data) return;

if(row) list.push(row);
空格

數值操作符(如, +/-/*/% 等)、比較符(大於、小於、等於)兩邊留空格;

逗號、冒號、分號後要留一個空格(如果後面還有內容的話);

行尾不要有空格;

點號前後不要出現空格;

函數名末尾和左括號之間不要出現空格;

字符串

表示字符串用單引號或雙引號均可, 建議統一使用雙引號,

但表示html標簽時一律使用單引號, 如:

var html = '<div class="msg" ></div>';
數組

使用簡便的方式定義數組:

// good
var list = [1, 2, 3];

// bad
var list = new Array();
list[0] = 1;
list[1] = 2;
list[2] = 3;
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved