JavaScript開發時的五個注意事項

來源:互聯網
上載者:User

只在<form>元素上使用submit事件

如果要在form中綁定事件處理常式時,應該只在<form>元素上綁定submit事件,而不是給提交按鈕綁定click事件。
March:這個方式固然很好,但是,公司開發時使用了Web Flow,一個頁面就一個大form,而裡面可能有若干個提交按鈕,所以不得不把部分事件處理常式綁定在了提交按鈕的click事件上。

可點擊的都應該是連結

不要給除錨元素(<a>)以外的元素繫結click事件。這一點對於鍵盤使用者很重要,因為他們在僅通過鍵盤擷取元素焦點時會遇到困難。

March:不過個人感覺錨元素還是應該只用作連結,而一些功能性的操作(比如Google Reader的Mark all as new),最好還是用<span>來標註,accessibility的問題可以通過快速鍵等方式解決。這樣做可以更好的還原HTML元素的語義。

簡單的for迴圈最佳化

在你寫一個for迴圈時,有個很簡單的技巧能夠提高效能。 複製代碼 代碼如下:for ( var i = 0; i < elements.length; ++i )

使用下面的語句代替上面的: 複製代碼 代碼如下:for ( var i = 0, j = elements.length; i < j; ++i )

這樣可以把元素的個數(elements.length的值)儲存在一個變數j中,這樣就不必在每次迴圈時都計算一遍元素的個數。

用匿名函數來作為事件處理常式

尤其是對於短小的函數,建立一個匿名函數會比使用一個命名函數的引用更具可讀性。 複製代碼 代碼如下:anchor.onclick = function() { map.goToPosition( home ); return false; }

March:在較複雜的JavaScript開發時還是使用命名函數效率更高。

使用Array.join代替字串串連(concatenating strings)

在將很多字串、變數等串連成一個很長的字串時,將所有字串和變數放入一個數組,然後用join方法將他們組成一個長字串,這樣無論從代碼可讀性還是從效能上都更勝於字串串連。 複製代碼 代碼如下:var text = 'There are' + elements.length + 'members in the elements array.';
var text = ['There are', elements.length, 'members in the elements array.'].join(' ');

相關文章

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.