寫任何程式碼,不同的開發者都會有不同的見解。但參考一下總是好的,以下是來自Javascript Toolbox發布的14個最佳JS程式碼編寫技巧,Sofish翻譯( 1 , 2 )。
1. 總是使用'var'
在JavaScript中,變數不是全域範圍的就是函數範圍的,使用”var”關鍵字將是保持變數簡潔明了的關鍵。當聲明一個或者是全局或者是函數級(function-level)的變量,需總是前置”var”關鍵字,下面的例子將強調不這樣做潛在的問題。
不使用Var 造成的問題
var i=0; // This is good - creates a global variable
function test() {
for (i=0; i<10; i++) {
alert("Hello World!");
}
}
test();
alert(i); // The global variable i is now 10!
因為變數函數中變數i 並沒有使用var 使其成為函數級的變量,在這個例子中它引用了全域變數。總是使用var 來宣告全域變數是一個很多的做法,但至關重要的一點是使用var 定義一個函數範圍的變數。下面這兩個方法在功能上是相同的:
正確的函數
function test() {
var i=0;
for (i=0; i<10; i++) {
alert("Hello World!");
}
}
正確的函數
function test() {
for (var i=0; i<10; i++) {
alert("Hello World!");
}
}
2. 特性檢測而非瀏覽器檢測
一些程式碼是寫來發現瀏覽器版本並基於用戶正使用的客戶端的對其執行不同行為。這個,總的來說,是一個非常糟糕的實踐。更好的方法是使用特性檢測,在使用老瀏覽器可能不支援的高級的特性之前,首先檢測(瀏覽器的)是否有這個功能或特性,然後使用它。這單獨檢測瀏覽器版本來得更好,即使你知道它的性能。你可以在http://www.jibbering.com/faq/faq_notes/not_browser_detect.html找到一個深入討論這個問題的文章。
例子:
if (document.getElementById) {
var element = document.getElementById('MyId');
}
else {
alert('Your browser lacks the capabilities required to run this script!');
}
出處:幸福收藏夾