JS編碼技巧:翻譯的14天JS編寫技巧

來源:互聯網
上載者:User

寫任何編程代碼,不同的開發人員都會有不同的見解。但參考一下總是好的,下面是來自 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!');
}



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。