亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

實現高性能javascript的注意事項

2019-11-19 11:28:01
字體:
來源:轉載
供稿:網友

1.少用全局變量

原因:因為作用域鏈是一個堆棧的結構,所以遵循先進先出的原則,而javascript引擎在解析代碼的時候,將全局對象放在棧底,然后向上依次出現的是不同作用域的活動對象(這些活動對象除了閉包沒有相互依賴的關系),所以在查找變量的時候會從該活動對象開始,然后是閉包它的活動對象,最后是全局對象,如果全局變量過多就會影響獲得變量時的速度,所以不要過多使用全局變量。

2.盡量使用局部變量封裝全局變量

原因:正如前面所說,活動對象在棧的頂端,所以最先查找它的內容,當我們將document封裝成局部變量后就會減少深層次查找的次數,使性能提高。

3.操作數組長度、對象屬性時,盡量使用局部變量封裝。

原因:IE、opera存取數組比對象屬性快,而FF chrome safari正好相反,所以兼顧這些,我們最好封裝一下。

4.盡量減少對象屬性的深度

原因:深度太大,會增加javascript引擎對取得值的地址查找的開銷,相當于增加了多層嵌套的指針,導致性能損失。

5.在for循環中盡量使用局部變量封裝條件項

原因:例如for(var i=0;i<divs.length;i++) 的時候,如果divs為document.getElementsByTagName('div'),這樣在每次循環判斷條件的時候都會對DOM文檔進行一次遍歷求得長度,所以講length封裝起來,會提升性能。

6.謹慎的處理HTMLcollection對象(比如childNodes getElementsByTagName等取得DOM元素集合的對象),最好將其封裝到數組里操作。

原因:還是因為操作DOM元素需要遍歷DOM文檔,而非DOM元素則不用遍歷,所以請盡量減少對DOM的操作,而將DOM集合放到數組中去。

7.在針對safari瀏覽器的開發過程中,請盡量使用“.”獲取對象屬性而不是用“[]”。

8.建議在少于兩次判斷的環境下使用if-else,而大于三次的就用switch吧。而超過10次的時候,還是使用數組或json對象來通過索引來查找吧(這種模式相對簡單)

9.如果循環數組的順序從低到高或從高到低沒有差別,那么還是從高到低比較好,比如我們循環輸出一個數組中的內容:

var arr=[1,2,3,4,5];var i=0;while(i<arr.length){alert(arr[i]);}//這樣開銷會比較大,因為每次都要遍歷求出數組元素的長度//----------------------------------var i=arr.length;while(i--){alert(arr[i]);}//使用局部變量保存數組長度,然后該變量自減,連while中的判斷都省了,因為0轉換為布爾值就是false。

10.盡量少使用for-in循環,將其盡量改造成while 或for循環。

11.處理大數組時,請遵循duff策略。

duff策略:將大數組的個數拆分成8個一組,對這8個為一個單位的數組的操作不用循環處理,而是不怕繁瑣的寫出8行處理數組元素的代碼,這樣會提升大數組操作的性能。

12.用函數處理大數組的每個元素時,盡量使用定時器將每次操作掛起,時間設定在50-100ms比較合理

原因:如果簡單的用循環來處理數組中的每個元素,如果是大數組,會造成頁面的凍結和假死,給用戶不好的體驗,而用setTimeout,就會把每次操作都暫時掛起,讓javascript引擎有其他的時間去處理隊列中的其他函數,有效的防止了凍結和假死,而在設定的延遲時間之后,有可能javascript引擎是空閑的狀態,可以更好的處理這些數組操作。相當于虛擬了一個后臺操作。下面是zakas提出的解決方案:

function chunk(array,func,context){setTimeout(function(){var arr=array.shift();func.call(context,item);if(array.length>0){setTimeout(arguments.callee,100);//遞歸循環這個過程 arguments.callee為chunk這個函數對象}},100);}

13.在使用iframe的時候注意window onload的阻塞

原因:iframe的加載會對window onload進行阻塞,導致有些window unload事件中加載的代碼在用戶關掉頁面的時候可能不被執行,所以需要我們最好在window onload時間發生時動態為iframe設定src屬性。

PS:能不用iframe就不用。

14.CSS選擇符的優化

原因:CSS選擇符的讀取方式為從右至左,所以在寫的時候盡可能右邊規則詳細,而且盡量少用子選擇符合后代選擇符標簽選擇符。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲视频一区二区| 欧美极品美女电影一区| 精品人伦一区二区三区蜜桃免费| 国产精品视频xxxx| 欧美精品在线网站| 操日韩av在线电影| 国产在线视频欧美| 一夜七次郎国产精品亚洲| 亚洲香蕉成人av网站在线观看| 亚洲男女自偷自拍图片另类| 午夜精品视频网站| 亚洲人成网7777777国产| 全亚洲最色的网站在线观看| 中文字幕亚洲天堂| 国产精品久久久久久久9999| 日本精品视频在线播放| 欧美小视频在线观看| 日本中文字幕久久看| 国产精品视频永久免费播放| 久久精品99久久香蕉国产色戒| 国产91在线视频| 91精品国产91久久久久久最新| 人人爽久久涩噜噜噜网站| 日韩免费观看高清| 在线观看91久久久久久| 欧美在线国产精品| 国产精品久久电影观看| 精品视频久久久久久久| 亚洲www视频| 国产精品激情av电影在线观看| 美女国内精品自产拍在线播放| 欧美日韩亚洲高清| 欧美成人免费全部观看天天性色| 日韩av在线不卡| 亚洲男人av在线| 亚洲情综合五月天| 日韩精品欧美激情| 精品日韩中文字幕| 精品久久久999| 国产美女精品免费电影| 亚洲成人网在线| 亚洲一区二区三区乱码aⅴ蜜桃女| 中文字幕亚洲欧美日韩在线不卡| 超碰91人人草人人干| 午夜美女久久久久爽久久| 亚洲偷熟乱区亚洲香蕉av| 欧美黑人性生活视频| 国产一区二区三区在线观看网站| 亚洲成人教育av| 日韩精品免费在线视频| 久久久亚洲国产| 国产精品入口夜色视频大尺度| 久久久久久久av| 97人人爽人人喊人人模波多| 久久精品国产亚洲7777| 欧美在线精品免播放器视频| 亚洲乱码国产乱码精品精| 日韩欧美在线视频免费观看| 91夜夜未满十八勿入爽爽影院| 久久精品国产一区二区三区| 91国内揄拍国内精品对白| 亚洲韩国欧洲国产日产av| 久久中文久久字幕| 精品视频www| 海角国产乱辈乱精品视频| 亚洲人成在线观看网站高清| 国产精品第10页| 亚洲激情视频在线观看| 国产一区二区在线播放| 色悠久久久久综合先锋影音下载| 91免费看视频.| 成人激情在线播放| 国产欧美一区二区白浆黑人| 欧美午夜丰满在线18影院| 北条麻妃99精品青青久久| 中文字幕亚洲精品| 欧美大码xxxx| 欧美电影电视剧在线观看| 亚洲影院色无极综合| 亚洲成人xxx| 欧美成人精品在线播放| 欧美重口另类videos人妖| 日本aⅴ大伊香蕉精品视频| 亚洲欧美日韩综合| 亚洲2020天天堂在线观看| 亚洲欧美在线x视频| 久久久精品一区二区三区| 欧美日韩激情视频8区| 97人人做人人爱| 亚洲一区二区三区sesese| 欧美大片va欧美在线播放| 亚洲a成v人在线观看| 欧美视频裸体精品| 91成人天堂久久成人| 日韩在线观看高清| 国产精品高潮呻吟久久av野狼| 精品久久久久久亚洲国产300| 亚洲xxxx3d| 欧美美最猛性xxxxxx| 欧美亚州一区二区三区| 欧美亚洲另类制服自拍| 国产成人aa精品一区在线播放| 亚洲人成自拍网站| 日本久久中文字幕| 欧美视频在线视频| 亚洲女人天堂色在线7777| 欧美综合国产精品久久丁香| 日韩免费视频在线观看| 国产成人亚洲综合91| 精品国产91久久久| 91在线视频九色| 91国在线精品国内播放| 91性高湖久久久久久久久_久久99| 18性欧美xxxⅹ性满足| 欧美日韩午夜激情| 日本不卡免费高清视频| 91色中文字幕| 欧美性xxxx极品hd欧美风情| 日韩成人在线网站| 欧美成人免费在线观看| 97超碰国产精品女人人人爽| 疯狂蹂躏欧美一区二区精品| 亚洲男人的天堂在线播放| xxav国产精品美女主播| 一本大道亚洲视频| 97热在线精品视频在线观看| 秋霞成人午夜鲁丝一区二区三区| 日韩国产高清视频在线| 欧美综合在线观看| 中文字幕日韩欧美在线视频| 国产精品视频一区二区三区四| 亚洲女同精品视频| 日韩美女视频免费在线观看| 国产精品欧美激情在线播放| 6080yy精品一区二区三区| 日本精品久久久| 亚洲永久免费观看| 亚洲第一区中文99精品| 国产亚洲日本欧美韩国| 日韩中文字幕国产精品| 国产日韩专区在线| 精品成人av一区| 岛国av在线不卡| 久久伊人精品一区二区三区| 欧美性猛交xxxx免费看漫画| 国产精品伦子伦免费视频| 欧美华人在线视频| 91国产视频在线播放| 奇米四色中文综合久久| 亚洲日本成人网| 一区二区在线视频| 中文字幕精品网| 国产精品直播网红| xxx欧美精品| 欧美激情第6页| 久久成人精品视频| 69av成年福利视频| 51色欧美片视频在线观看| 国产日韩欧美在线播放| 日韩在线观看网站| 欧美不卡视频一区发布| 欧美电影在线观看高清| 欧美大码xxxx| 成人国内精品久久久久一区|