寫任何編程代碼,不同的開發(fā)者都會有不同的見解。但參考一下總是好的,下面是來自 Javascript Toolbox 發(fā)布的 14條最佳JS代碼編寫技巧 ,Sofish翻譯(1,2)。
1. 總是使用 ‘var’
在JavaScript中,變量不是全局范圍的就是函數(shù)范圍的,使用”var”關(guān)鍵詞將是保持變量簡潔明了的關(guān)鍵。當(dāng)聲明一個或者是全局或者是函數(shù)級(function-level)的變量,需總是前置”var”關(guān)鍵詞,下面的例子將強(qiáng)調(diào)不這樣做潛在的問題。
不使用 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!
因?yàn)樽兞亢瘮?shù)中變量 i 并沒有使用 var 使其成為函數(shù)級的變量,在這個例子中它引用了全局變量?偸鞘褂 var 來聲明全局變量是一個很多的做法,但至關(guān)重要的一點(diǎn)是使用 var 定義一個函數(shù)范圍的變量。下面這兩個方法在功能上是相同的:
正確的函數(shù)
function test() { var i=0; for (i=0; i<10; i++) { alert("Hello World!"); } }
正確的函數(shù)
function test() { for (var i=0; i<10; i++) { alert("Hello World!"); } }
2. 特性檢測而非瀏覽器檢測
一些代碼是寫來發(fā)現(xiàn)瀏覽器版本并基于用戶正使用的客戶端的對其執(zhí)行不同行為。這個,總的來說,是一個非常糟的實(shí)踐。更好的方法是使用特性檢測,在使 用一個老瀏覽器可能不支持的高級的特性之前,首先檢測(瀏覽器的)是否有這個功能或特性,然后使用它。這單獨(dú)檢測瀏覽器版本來得更好,即使你知道它的性 能。你可以在 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!'); }
出處:幸福收藏夾
責(zé)任編輯:bluehearts
上一頁 下一頁 14條最佳JS代碼編寫技巧 [2]
◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評論。
|