最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

減少訪問DOM的次數(shù)提升javascript性能

 更新時(shí)間:2014年02月24日 15:06:24   作者:  
訪問修改DOM元素都會(huì)導(dǎo)致瀏覽器重新計(jì)算頁(yè)面的幾何變化,下面為大家介紹下javascript性能提升方法,需要的朋友可以參考下
訪問DOM元素是有代價(jià)的,修改DOM元素則更為昂貴,因?yàn)樗鼤?huì)導(dǎo)致瀏覽器重新計(jì)算頁(yè)面的幾何變化。

當(dāng)然,最壞的情況是在循環(huán)中訪問修改元素,尤其是對(duì)HTML元素集合循環(huán)操作。

例如:
復(fù)制代碼 代碼如下:

<!-- 優(yōu)化前 -->
<script type="text/javascript">
function innerHTMLLoop () {
for(var count = 0; count < 15000; count++){
document.getElementById('here').innerHTML+='a';
}
}
</script>

這個(gè)函數(shù)循環(huán)修改頁(yè)面元素的內(nèi)容。這段代碼的問題在于,每次循環(huán)迭代,該元素都被訪問兩次:一次讀取innerHTML屬性,另外一次重寫它。

一個(gè)效率更高的做法是使用局部變量存儲(chǔ)更新后的內(nèi)容,然后在循環(huán)結(jié)束后一次性寫入:
復(fù)制代碼 代碼如下:

<!-- 優(yōu)化后 -->
<script type="text/javascript">
function innerHTMLLoop () {
var content = '';
for(var count = 0; count < 15000; count++){
content+='a';
}
document.getElementById('here').innerHTML+=content;
}
</script>

訪問DOM的次數(shù)越多,代碼運(yùn)行速度越慢。因此,在有其他方案可以代替的時(shí)候,我們要盡量減少訪問DOM的次數(shù)。

相關(guān)文章

  • layui+jquery支持IE8的表格分頁(yè)方法

    layui+jquery支持IE8的表格分頁(yè)方法

    今天小編就為大家分享一篇layui+jquery支持IE8的表格分頁(yè)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 微信小程序上傳圖片功能(附后端代碼)

    微信小程序上傳圖片功能(附后端代碼)

    這篇文章主要為大家詳細(xì)介紹了微信小程序上傳圖片功能,還為大家分享了后端代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • javaScript合并對(duì)象的多種方式及知識(shí)擴(kuò)展

    javaScript合并對(duì)象的多種方式及知識(shí)擴(kuò)展

    眾所周知JavaScript中有多種方法可以合并對(duì)象,下面這篇文章主要給大家介紹了關(guān)于javaScript合并對(duì)象的多種方式及知識(shí)擴(kuò)展,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • js如何引入wasm文件

    js如何引入wasm文件

    這篇文章主要介紹了js如何引入wasm文件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • ES6 Promise對(duì)象概念及用法實(shí)例詳解

    ES6 Promise對(duì)象概念及用法實(shí)例詳解

    這篇文章主要介紹了ES6 Promise對(duì)象概念及用法,結(jié)合實(shí)例形式詳細(xì)分析了ES6中Promise對(duì)象的概念、原理、創(chuàng)建、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-10-10
  • 詳解?Map?和?WeakMap?區(qū)別以及使用場(chǎng)景

    詳解?Map?和?WeakMap?區(qū)別以及使用場(chǎng)景

    這篇文章主要介紹了詳解?Map?和?WeakMap?區(qū)別以及使用場(chǎng)景,Map本質(zhì)上是一個(gè)鍵值對(duì)的集合,WeakMap?只能將對(duì)象作為鍵名,下面來一起倆姐更多詳細(xì)內(nèi)容吧,希望這一篇文章能讓你對(duì)?Map?有更好的理解,或者能夠幫你理解?Map?和?WeakMap
    2022-01-01
  • javascript EXCEL 操作類代碼

    javascript EXCEL 操作類代碼

    有空把JAVASCRIPT對(duì)EXCEL的操作進(jìn)行了封裝,大家可以根據(jù)自己實(shí)際的需要在此基礎(chǔ)上進(jìn)行擴(kuò)充。詳細(xì)的請(qǐng)看代碼
    2009-07-07
  • 寫了個(gè)XML+Tree無窮樹js版

    寫了個(gè)XML+Tree無窮樹js版

    寫了個(gè)XML+Tree無窮樹js版...
    2007-09-09
  • JavaScript中的值類型轉(zhuǎn)換介紹

    JavaScript中的值類型轉(zhuǎn)換介紹

    這篇文章主要介紹了JavaScript中的值類型轉(zhuǎn)換介紹,本文講解了值類型轉(zhuǎn)換規(guī)則、值類型轉(zhuǎn)換與比較、顯式類型轉(zhuǎn)換、對(duì)類型自動(dòng)轉(zhuǎn)換的使用等內(nèi)容,需要的朋友可以參考下
    2014-12-12
  • arcgis.js控制地圖地體的顯示范圍超出區(qū)域自動(dòng)彈回(實(shí)現(xiàn)思路)

    arcgis.js控制地圖地體的顯示范圍超出區(qū)域自動(dòng)彈回(實(shí)現(xiàn)思路)

    這篇文章主要介紹了arcgis.js控制地圖地體的顯示范圍超出區(qū)域自動(dòng)彈回,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01

最新評(píng)論

兴业县| 来安县| 高碑店市| 修武县| 景谷| 汝州市| 道真| 合阳县| 安化县| 永宁县| 徐汇区| 瑞昌市| 西盟| 博野县| 藁城市| 林口县| 周宁县| 常宁市| 湛江市| 枝江市| 鱼台县| 盈江县| 东丽区| 甘泉县| 理塘县| 中方县| 连江县| 大安市| 长葛市| 吕梁市| 嘉定区| 岐山县| 余庆县| 疏附县| 忻城县| 讷河市| 格尔木市| 晋宁县| 青海省| 乐山市| 昆山市|