国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

JavaScript編程開(kāi)發(fā)中的五個(gè)實(shí)用小技巧

2019-11-21 00:20:29
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
真是五個(gè)很quick的小提示:

只在<form>元素上使用submit事件
如果要在form中綁定事件處理程序時(shí),應(yīng)該只在<form>元素上綁定submit事件,而不是給提交按鈕綁定click事件。
March:這個(gè)方式固然很好,但是,公司開(kāi)發(fā)時(shí)使用了Web Flow,一個(gè)頁(yè)面就一個(gè)大form,而里面可能有若干個(gè)提交按鈕,所以不得不把部分事件處理程序綁定在了提交按鈕的click事件上。

可點(diǎn)擊的都應(yīng)該是鏈接
不要給除錨元素(<a>)以外的元素綁定click事件。這一點(diǎn)對(duì)于鍵盤(pán)用戶很重要,因?yàn)樗麄冊(cè)趦H通過(guò)鍵盤(pán)獲取元素焦點(diǎn)時(shí)會(huì)遇到困難。
March:不過(guò)個(gè)人感覺(jué)錨元素還是應(yīng)該只用作鏈接,而一些功能性的操作(比如Google Reader的Mark all as new),最好還是用<span>來(lái)標(biāo)注,accessibility的問(wèn)題可以通過(guò)快捷鍵等方式解決。這樣做可以更好的還原HTML元素的語(yǔ)義。

簡(jiǎn)單的for循環(huán)優(yōu)化
在你寫(xiě)一個(gè)for循環(huán)時(shí),有個(gè)很簡(jiǎn)單的技巧能夠提高性能。
復(fù)制代碼 代碼如下:
for ( var i = 0; i < elements.length; ++i )

使用下面的語(yǔ)句代替上面的:
復(fù)制代碼 代碼如下:
for ( var i = 0, j = elements.length; i < j; ++i )

這樣可以把元素的個(gè)數(shù)(elements.length的值)儲(chǔ)存在一個(gè)變量j中,這樣就不必在每次循環(huán)時(shí)都計(jì)算一遍元素的個(gè)數(shù)。

用匿名函數(shù)來(lái)作為事件處理程序
尤其是對(duì)于短小的函數(shù),創(chuàng)建一個(gè)匿名函數(shù)會(huì)比使用一個(gè)命名函數(shù)的引用更具可讀性。
復(fù)制代碼 代碼如下:
anchor.onclick = function() { map.goToPosition( home ); return false; }

March:在較復(fù)雜的JavaScript開(kāi)發(fā)時(shí)還是使用命名函數(shù)效率更高。

使用Array.join代替字符串連接(concatenating strings)
在將很多字符串、變量等連接成一個(gè)很長(zhǎng)的字符串時(shí),將所有字符串和變量放入一個(gè)數(shù)組,然后用join方法將他們組成一個(gè)長(zhǎng)字符串,這樣無(wú)論從代碼可讀性還是從性能上都更勝于字符串連接。
復(fù)制代碼 代碼如下:

var text = 'There are' + elements.length + 'members in the elements array.';
var text = ['There are', elements.length, 'members in the elements array.'].join(' ');
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 个旧市| 陇西县| 行唐县| 奎屯市| 清流县| 孙吴县| 高平市| 塔河县| 华阴市| 鄄城县| 红桥区| 高唐县| 盈江县| 手游| 沿河| 安平县| 高邑县| 苗栗市| 焉耆| 阳朔县| 惠州市| 文登市| 乌兰察布市| 荔浦县| 藁城市| 滕州市| 河曲县| 信丰县| 察哈| 孝感市| 红河县| 高唐县| 德令哈市| 隆林| 曲沃县| 平泉县| 奇台县| 明溪县| 玛沁县| 开封县| 韩城市|