優(yōu)化javascript的執(zhí)行速度
更新時(shí)間:2010年01月23日 23:47:26 作者:
這個(gè)是我在網(wǎng)上找的資料,具體的出處,我已經(jīng)記不清楚了,覺(jué)得很不錯(cuò),就和大家分享了
1:修改循環(huán)的執(zhí)行方式
for(var i=0;i<element.childNodes.length;i++){
執(zhí)行代碼
}
這種方式每次循環(huán)都要取element.childNodes.length的值,應(yīng)該改為如下的
var n=element.childNodes.length
for(var i=0;i<n;i++){
執(zhí)行代碼
}
2:修改dom操作的次數(shù)
dom批量插入一批類(lèi)似的節(jié)點(diǎn)不如先構(gòu)造一個(gè)對(duì)象,插入一次
比如下面這種方法就是合理的:
var div=document.createElement("div");
for(var i=0;i<10;i++)[
var element=document.createElement("a");
a.href="";
div.appendChild(element);
}
//構(gòu)建好對(duì)象后一次插入
document.body.appendChild(div);
3:減少對(duì)象的引用層次,可以減少瀏覽器對(duì)對(duì)象解析的復(fù)雜度
比如一個(gè)方法為 net.Loader.LoadXml(params)
不必每次都這么使用,可以
var loadXml=net.Loader.LoadXml;
loadXml(params);
for(var i=0;i<element.childNodes.length;i++){
執(zhí)行代碼
}
這種方式每次循環(huán)都要取element.childNodes.length的值,應(yīng)該改為如下的
var n=element.childNodes.length
for(var i=0;i<n;i++){
執(zhí)行代碼
}
2:修改dom操作的次數(shù)
dom批量插入一批類(lèi)似的節(jié)點(diǎn)不如先構(gòu)造一個(gè)對(duì)象,插入一次
比如下面這種方法就是合理的:
var div=document.createElement("div");
for(var i=0;i<10;i++)[
var element=document.createElement("a");
a.href="";
div.appendChild(element);
}
//構(gòu)建好對(duì)象后一次插入
document.body.appendChild(div);
3:減少對(duì)象的引用層次,可以減少瀏覽器對(duì)對(duì)象解析的復(fù)雜度
比如一個(gè)方法為 net.Loader.LoadXml(params)
不必每次都這么使用,可以
var loadXml=net.Loader.LoadXml;
loadXml(params);
相關(guān)文章
一文學(xué)會(huì)JavaScript如何手寫(xiě)防抖節(jié)流
其實(shí)防抖和節(jié)流不僅僅在面試中會(huì)讓大家手寫(xiě),在實(shí)際項(xiàng)目中也可以起到性能優(yōu)化的作用,所以還是很有必要掌握的。這篇文章就帶大家徹底學(xué)會(huì)JavaScript手寫(xiě)防抖節(jié)流,希望對(duì)大家有所幫助2022-11-11
js實(shí)現(xiàn)div層緩慢收縮與展開(kāi)的方法
這篇文章主要介紹了js實(shí)現(xiàn)div層緩慢收縮與展開(kāi)的方法,通過(guò)javascript自定義函數(shù)實(shí)現(xiàn)div層的收縮與展開(kāi)效果,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-05-05
在JavaScript中創(chuàng)建對(duì)象的可行方法小結(jié)
在Web前端開(kāi)發(fā)中,JavaScript是一門(mén)功能強(qiáng)大的語(yǔ)言,其核心之一便是對(duì)象的創(chuàng)建與操作,對(duì)象是JavaScript中數(shù)據(jù)結(jié)構(gòu)的重要組成部分,本文將深入探討JavaScript中創(chuàng)建對(duì)象的各種方法,并結(jié)合代碼示例和實(shí)際開(kāi)發(fā)經(jīng)驗(yàn)進(jìn)行詳細(xì)講解,需要的朋友可以參考下2025-03-03
js遍歷添加欄目類(lèi)添加css 再點(diǎn)擊其它刪除css【推薦】
這篇文章主要介紹了js遍歷添加欄目類(lèi)添加css 再點(diǎn)擊其它刪除css的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒借鑒價(jià)值,需要的朋友可以參考下2018-06-06
利用JS實(shí)現(xiàn)加減簡(jiǎn)易計(jì)算器
這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript制作一個(gè)簡(jiǎn)單的網(wǎng)頁(yè)版加減計(jì)算器,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-05-05
javaScript 頁(yè)面自動(dòng)加載事件詳解
本篇文章主要是對(duì)javaScript頁(yè)面自動(dòng)加載事件進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02

