JavaScript 性能優(yōu)化小結(jié)
隨著 Web2.0 技術(shù)的不斷推廣,越來越多的應(yīng)用使用 JavaScript 技術(shù)在客戶端進(jìn)行處理,從而使 JavaScript 在瀏覽器中的性能成為開發(fā)者所面臨的最重要的可用性問題。而這個(gè)問題又因 JavaScript 的阻塞特性變的復(fù)雜,也就是說當(dāng)瀏覽器在執(zhí)行 JavaScript 代碼時(shí),不能同時(shí)做其他任何事情。本文詳細(xì)介紹了如何正確的加載和執(zhí)行 JavaScript 代碼,從而提高其在瀏覽器中的性能。
在J2EE編程中,我們接觸最多的腳本語言還是JavaScript。在使用JavaScript中我們通常會(huì)考慮其性能問題,因此將日常總結(jié)的關(guān)于JavaScript性能優(yōu)化的方式總結(jié)出來,以備查詢。
在使用JavaScript中經(jīng)常會(huì)遇到字符串的拼接問題。請(qǐng)問大家在使用Java編程的時(shí)候遇到上述的問題,該怎么處理?
NX學(xué)生:老師,使用StringBulider 或StringBuffer
老師:回答正確,使用StringBuilder或StringBuffer能夠避免過多創(chuàng)建對(duì)象,降低系統(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é)生實(shí)現(xiàn)的方式,差點(diǎn)笑噴。這種垃圾的實(shí)現(xiàn)方式,真是毀了你一世英名啊。
老師面帶微笑的說道:你這種實(shí)現(xiàn)方式就相當(dāng)于小學(xué)生的水平,就是一堆垃圾字母的隨機(jī)組合。說完只聽見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>
通過對(duì)以上代碼的運(yùn)行比較,老師的代碼性能明顯優(yōu)于NX學(xué)生的代碼,NX學(xué)生代碼還會(huì)經(jīng)常導(dǎo)致IE宕掉。
NX學(xué)生看到代碼運(yùn)行的結(jié)果,頓時(shí)對(duì)老師產(chǎn)生仰慕之情,決定虛心想老師學(xué)習(xí),不斷提升自己……
這個(gè)故事雖然告一段落,但是老師和NX學(xué)生的JavaScript之旅還在繼續(xù)……
- javascript性能優(yōu)化之事件委托實(shí)例詳解
- js性能優(yōu)化技巧
- JavaScript性能優(yōu)化之小知識(shí)總結(jié)
- nodejs的10個(gè)性能優(yōu)化技巧
- JS性能優(yōu)化筆記搜索整理
- js性能優(yōu)化 如何更快速加載你的JavaScript頁面
- JS 網(wǎng)站性能優(yōu)化筆記
- 基于JavaScript創(chuàng)建動(dòng)態(tài)Dom
- 簡(jiǎn)單實(shí)現(xiàn)JS對(duì)dom操作封裝
- 基于JavaScript操作DOM常用的API小結(jié)
- JavaScript DOM 學(xué)習(xí)總結(jié)(五)
- javascript性能優(yōu)化之DOM交互操作實(shí)例分析
相關(guān)文章
優(yōu)化網(wǎng)頁之快速的呈現(xiàn)我們的網(wǎng)頁
優(yōu)化網(wǎng)頁之快速的呈現(xiàn)我們的網(wǎng)頁...2007-06-06JavaScript錯(cuò)誤處理和調(diào)試方法詳解
代碼審查是調(diào)試JavaScript的重要方法,因?yàn)樗试S多個(gè)開發(fā)人員一起處理代碼庫并在開發(fā)過程的早期發(fā)現(xiàn)錯(cuò)誤,這篇文章主要給大家介紹了關(guān)于JavaScript錯(cuò)誤處理和調(diào)試方法的相關(guān)資料,需要的朋友可以參考下2023-11-11JavaScript運(yùn)動(dòng)函數(shù)實(shí)例詳解
這篇文章主要為大家詳細(xì)介紹了JavaScript的運(yùn)動(dòng)函數(shù),使用實(shí)例在論證,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02js 調(diào)用父窗口的具體實(shí)現(xiàn)代碼
想要實(shí)現(xiàn)如題所示:父窗體需要頂一個(gè)show()方法,具體實(shí)現(xiàn)代碼如下,感興趣的朋友可以參考下哈,希望對(duì)大家有所幫助2013-07-07分步解析JavaScript實(shí)現(xiàn)tab選項(xiàng)卡自動(dòng)切換功能
這篇文章主要分步解析JavaScript實(shí)現(xiàn)tab選項(xiàng)卡自動(dòng)切換功能代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-01-01javascript秒數(shù)倒計(jì)時(shí)自動(dòng)跳轉(zhuǎn)代碼
幾秒后跳轉(zhuǎn)功能,動(dòng)態(tài)生成按鈕并動(dòng)態(tài)生成8位隨機(jī)數(shù),2008-09-09JS實(shí)現(xiàn)超級(jí)好看的鼠標(biāo)小尾巴特效
這篇文章主要給大家介紹了關(guān)于JS實(shí)現(xiàn)超級(jí)好看的鼠標(biāo)小尾巴特效的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12