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

首頁 > 開發 > JS > 正文

高性能javascript及頁面注意事項

2024-05-06 16:51:28
字體:
來源:轉載
供稿:網友

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選擇符的讀取方式為從右至左,所以在寫的時候盡可能右邊規則詳細,而且盡量少用子選擇符合后代選擇符標簽選擇符。

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


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产精品久久久久秋霞不卡| 亚洲综合中文字幕在线| 成人黄色影片在线| 亚洲一区二区久久久| 亚洲在线免费观看| 91精品在线看| 亚洲黄色av网站| 久久福利视频网| 欧洲美女免费图片一区| 欧美人与性动交| 国产精品尤物福利片在线观看| 欧美日韩亚洲视频一区| 日日骚av一区| 日韩经典中文字幕| 国产成人综合精品| 欧美日韩国产中字| 色樱桃影院亚洲精品影院| 亚洲人成网站777色婷婷| 日韩一区二区在线视频| 国模叶桐国产精品一区| 久久伊人精品天天| 日韩电影视频免费| 久久国产加勒比精品无码| 国产精品av电影| 最近2019中文字幕大全第二页| 日韩成人激情影院| 91在线播放国产| 日韩在线观看电影| 色www亚洲国产张柏芝| 国产精品高清网站| 久久久精品网站| 国产91在线播放精品91| 国产成人在线播放| 国产一区二区三区欧美| 日韩精品在线视频美女| 久久久久国产精品免费| 亚洲国产欧美在线成人app| 国内精品伊人久久| 亚洲午夜女主播在线直播| 亚洲片在线观看| 日韩福利伦理影院免费| 米奇精品一区二区三区在线观看| 日韩av在线电影网| 91av在线视频观看| 国产视频丨精品|在线观看| 欧美精品在线免费观看| 亚洲天堂开心观看| 最好看的2019年中文视频| 久久久久久久香蕉网| 国产精品99导航| 久久天天躁狠狠躁夜夜躁| 国产美女精彩久久| 国产成人jvid在线播放| 日韩av最新在线观看| 亚洲最大成人免费视频| 国产成人一区二| 少妇激情综合网| 久久久999精品免费| 亚洲一区二区三区成人在线视频精品| 欧美成人网在线| 欧美日韩国产综合新一区| 久久综合国产精品台湾中文娱乐网| 国产精品毛片a∨一区二区三区|国| 色综合视频一区中文字幕| 亚洲国产又黄又爽女人高潮的| 亚洲电影免费观看高清完整版在线| 欧美尺度大的性做爰视频| 中文字幕在线观看日韩| 欧美大片免费观看在线观看网站推荐| 亚洲欧美国产精品va在线观看| 大伊人狠狠躁夜夜躁av一区| 正在播放欧美视频| 日韩精品视频在线播放| 琪琪亚洲精品午夜在线| 亚洲精品久久7777777| 欧美日韩国产一区中文午夜| 欧美孕妇性xx| 亚洲精品视频中文字幕| 国产亚洲欧美另类中文| 欧美黑人一级爽快片淫片高清| 亚洲免费中文字幕| 国产精品视频xxxx| 亚洲伊人成综合成人网| 97激碰免费视频| 欧美理论在线观看| 中文字幕欧美日韩在线| 国产成人亚洲综合91| 欧美激情a∨在线视频播放| 久久久97精品| 日韩人体视频一二区| 国产成人自拍视频在线观看| 日韩在线一区二区三区免费视频| 亚洲国产精品久久精品怡红院| 日本亚洲欧洲色α| 国产精品91在线| 久久久免费精品视频| 久久色免费在线视频| 国产亚洲a∨片在线观看| 韩日精品中文字幕| 98视频在线噜噜噜国产| 中文字幕av一区二区三区谷原希美| 亚洲视频一区二区三区| 57pao成人永久免费视频| 国产日韩精品在线观看| 亚洲欧美国产一区二区三区| 欧美孕妇孕交黑巨大网站| 91香蕉国产在线观看| 91黄色8090| 亚洲人免费视频| 91沈先生作品| 亚洲情综合五月天| 国产精品99久久久久久久久| 国产精品免费一区二区三区都可以| 国产精品久久久久久搜索| 中文精品99久久国产香蕉| 国产精品成人v| 日本在线观看天堂男亚洲| 国产精品老女人精品视频| 国产精品午夜国产小视频| 欧美一级高清免费| 精品久久久999| 欧美成aaa人片在线观看蜜臀| 国产成人久久久| 高清一区二区三区日本久| 亚洲免费伊人电影在线观看av| 在线丨暗呦小u女国产精品| 亚洲性av在线| 亚洲成色www8888| www.欧美三级电影.com| 国产精品久久久久久久午夜| 久久影视电视剧免费网站清宫辞电视| 欧美精品免费看| 日韩美女视频免费看| 欧美日韩国产第一页| 亚洲无av在线中文字幕| 久久久久久国产精品美女| 精品国产乱码久久久久久虫虫漫画| 久久精品一本久久99精品| 91免费在线视频网站| 国产97色在线|日韩| 亚洲免费视频一区二区| 91po在线观看91精品国产性色| 久久伊人精品天天| 亚洲欧美日韩天堂一区二区| 欧美精品18videos性欧美| 成人妇女淫片aaaa视频| 久久久成人的性感天堂| 91性高湖久久久久久久久_久久99| 亚洲天堂成人在线视频| 日韩精品极品在线观看播放免费视频| 日韩中文字幕在线视频播放| 95av在线视频| 欧美国产日韩在线| 国产精品嫩草视频| 欧美另类在线观看| 日韩在线一区二区三区免费视频| 国产中文字幕91| 欧美另类在线观看| 亚洲free性xxxx护士白浆| 亚洲精品电影在线观看| 色噜噜狠狠狠综合曰曰曰| 国产精品久久久久久网站| 国产精品草莓在线免费观看| 亚洲第一免费播放区|