JavaScript開發(fā)時(shí)的五個(gè)注意事項(xiàng)
只在<form>元素上使用submit事件
如果要在form中綁定事件處理程序時(shí),應(yīng)該只在<form>元素上綁定submit事件,而不是給提交按鈕綁定click事件。
March:這個(gè)方式固然很好,但是,公司開發(fā)時(shí)使用了Web Flow,一個(gè)頁(yè)面就一個(gè)大form,而里面可能有若干個(gè)提交按鈕,所以不得不把部分事件處理程序綁定在了提交按鈕的click事件上。
可點(diǎn)擊的都應(yīng)該是鏈接
不要給除錨元素(<a>)以外的元素綁定click事件。這一點(diǎn)對(duì)于鍵盤用戶很重要,因?yàn)樗麄冊(cè)趦H通過鍵盤獲取元素焦點(diǎn)時(shí)會(huì)遇到困難。
March:不過個(gè)人感覺錨元素還是應(yīng)該只用作鏈接,而一些功能性的操作(比如Google Reader的Mark all as new),最好還是用<span>來標(biāo)注,accessibility的問題可以通過快捷鍵等方式解決。這樣做可以更好的還原HTML元素的語義。
簡(jiǎn)單的for循環(huán)優(yōu)化
在你寫一個(gè)for循環(huán)時(shí),有個(gè)很簡(jiǎn)單的技巧能夠提高性能。
for ( var i = 0; i < elements.length; ++i )
for ( var i = 0, j = elements.length; i < j; ++i )
這樣可以把元素的個(gè)數(shù)(elements.length的值)儲(chǔ)存在一個(gè)變量j中,這樣就不必在每次循環(huán)時(shí)都計(jì)算一遍元素的個(gè)數(shù)。
用匿名函數(shù)來作為事件處理程序
尤其是對(duì)于短小的函數(shù),創(chuàng)建一個(gè)匿名函數(shù)會(huì)比使用一個(gè)命名函數(shù)的引用更具可讀性。
anchor.onclick = function() { map.goToPosition( home ); return false; }
March:在較復(fù)雜的JavaScript開發(fā)時(shí)還是使用命名函數(shù)效率更高。
使用Array.join代替字符串連接(concatenating strings)
在將很多字符串、變量等連接成一個(gè)很長(zhǎng)的字符串時(shí),將所有字符串和變量放入一個(gè)數(shù)組,然后用join方法將他們組成一個(gè)長(zhǎng)字符串,這樣無論從代碼可讀性還是從性能上都更勝于字符串連接。
var text = 'There are' + elements.length + 'members in the elements array.';
var text = ['There are', elements.length, 'members in the elements array.'].join(' ');
相關(guān)文章
整理的比較全的event對(duì)像在ie與firefox瀏覽器中的區(qū)別
event對(duì)像在IE與FF中的區(qū)別,本文整理了很多,個(gè)人感覺還是比較全面的,需要的朋友可以收藏下2013-11-11
canvas簡(jiǎn)單快速的實(shí)現(xiàn)知乎登錄頁(yè)背景效果
本篇文章主要介紹了canvas簡(jiǎn)單快速實(shí)現(xiàn)知乎登錄頁(yè)背景效果的相關(guān)知識(shí),具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-05-05
使用js實(shí)現(xiàn)按鈕控制文本框加1減1應(yīng)用于小時(shí)+分鐘
正如標(biāo)題所言使用js實(shí)現(xiàn)按鈕控制文本框加1減1,此類主要應(yīng)用于小時(shí)+分鐘,下面有個(gè)不錯(cuò)的示例,喜歡的朋友可以參考下2013-12-12
JS的函數(shù)調(diào)用棧stack size的計(jì)算方法
本篇文章給大家分享了關(guān)于JS的函數(shù)調(diào)用棧stack size的計(jì)算方法的相關(guān)知識(shí)點(diǎn),有興趣的朋友參考學(xué)習(xí)下。2018-06-06
基于JS抓取某高校附近共享單車位置 使用web方式展示位置變化代碼實(shí)例
這篇文章主要介紹了基于JS抓取某高校附近共享單車位置 使用web方式展示位置變化代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
利用JS獲取IE客戶端IP及MAC的實(shí)現(xiàn)好象不可以
利用JS獲取IE客戶端IP及MAC的實(shí)現(xiàn)好象不可以...2007-01-01

