這篇文章主要介紹了JavaScript 性能優(yōu)化小結(jié)的相關(guān)資料,需要的朋友可以參考下
隨著 Web2.0 技術(shù)的不斷推廣,越來越多的應(yīng)用使用 JavaScript 技術(shù)在客戶端進行處理,從而使 JavaScript 在瀏覽器中的性能成為開發(fā)者所面臨的最重要的可用性問題。而這個問題又因 JavaScript 的阻塞特性變的復(fù)雜,也就是說當瀏覽器在執(zhí)行 JavaScript 代碼時,不能同時做其他任何事情。本文詳細介紹了如何正確的加載和執(zhí)行 JavaScript 代碼,從而提高其在瀏覽器中的性能。
在J2EE編程中,我們接觸最多的腳本語言還是JavaScript。在使用JavaScript中我們通常會考慮其性能問題,因此將日常總結(jié)的關(guān)于JavaScript性能優(yōu)化的方式總結(jié)出來,以備查詢。
在使用JavaScript中經(jīng)常會遇到字符串的拼接問題。請問大家在使用Java編程的時候遇到上述的問題,該怎么處理?
NX學(xué)生:老師,使用StringBulider 或StringBuffer
老師:回答正確,使用StringBuilder或StringBuffer能夠避免過多創(chuàng)建對象,降低系統(tǒng)性能。
好了,回到正題,我們還是來解答在使用JavaScript中,遇到上述問題的處理方式。
首先,先來看看NX學(xué)生的處理方式:
- <html>
- <script type="text/javascript">
- var string="begin"
- var date = new Date()
- var begin = date.getTime()
- for(var i=0;i<9999999;i++){
- string+="abc"
- }
- alert(new Date().getTime() - begin)
- </script>
- </html>
老師一看NX學(xué)生實現(xiàn)的方式,差點笑噴。這種垃圾的實現(xiàn)方式,真是毀了你一世英名啊。
老師面帶微笑的說道:你這種實現(xiàn)方式就相當于小學(xué)生的水平,就是一堆垃圾字母的隨機組合。說完只聽見SB老師在鍵盤上鍵步如飛的敲其代碼來。NX學(xué)生還沒有反應(yīng)過來,老師已經(jīng)將代碼完成:
- <html>
- <script type="text/javascript">
- var string="begin";
- var string01=["begin"];
- var date = new Date();
- var begin = date.getTime();
- for(var i=0;i<55555555;i++){
- //string+="abc";
- string01.push("abc");
- }
- var result = string01.join("");
- alert(new Date().getTime() - begin);
- </script>
- </html>
通過對以上代碼的運行比較,老師的代碼性能明顯優(yōu)于NX學(xué)生的代碼,NX學(xué)生代碼還會經(jīng)常導(dǎo)致IE宕掉。
NX學(xué)生看到代碼運行的結(jié)果,頓時對老師產(chǎn)生仰慕之情,決定虛心想老師學(xué)習(xí),不斷提升自己……
這個故事雖然告一段落,但是老師和NX學(xué)生的JavaScript之旅還在繼續(xù)……
新聞熱點
疑難解答
圖片精選