如果要在form中綁定事件處理程序時,應該只在<form>元素上綁定submit事件,而不是給提交按鈕綁定click事件。 March:這個方式固然很好,但是,公司開發時使用了Web Flow,一個頁面就一個大form " /> 欧美诱惑福利视频,国产劲爆久久,欧美手机在线视频

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

JavaScript開發時的五個注意事項

只在<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(' ');

JavaScript技術JavaScript開發時的五個注意事項,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 仲巴县| 台中市| 南阳市| 延安市| 柏乡县| 江孜县| 韶关市| 潍坊市| 云安县| 昌邑市| 台湾省| 宜宾市| 临安市| 当雄县| 嘉黎县| 遵化市| 缙云县| 新蔡县| 军事| 菏泽市| 原阳县| 改则县| 浏阳市| 望谟县| 平江县| 湖北省| 新巴尔虎左旗| 香港 | 元阳县| 克拉玛依市| 邵阳县| 沙坪坝区| 万山特区| 赤水市| 中江县| 桃园市| 拜泉县| 包头市| 美姑县| 麦盖提县| 大同市|