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

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

 更新時間:2014年02月24日 15:06:24   作者:  
訪問修改DOM元素都會導致瀏覽器重新計算頁面的幾何變化,下面為大家介紹下javascript性能提升方法,需要的朋友可以參考下
訪問DOM元素是有代價的,修改DOM元素則更為昂貴,因為它會導致瀏覽器重新計算頁面的幾何變化。

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

例如:
復制代碼 代碼如下:

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

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

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

<!-- 優(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ù)越多,代碼運行速度越慢。因此,在有其他方案可以代替的時候,我們要盡量減少訪問DOM的次數(shù)。

相關(guān)文章

  • layui+jquery支持IE8的表格分頁方法

    layui+jquery支持IE8的表格分頁方法

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

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

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

    javaScript合并對象的多種方式及知識擴展

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

    js如何引入wasm文件

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

    ES6 Promise對象概念及用法實例詳解

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

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

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

    javascript EXCEL 操作類代碼

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

    寫了個XML+Tree無窮樹js版

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

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

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

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

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

最新評論

扬州市| 太湖县| 安吉县| 天全县| 汾西县| 富阳市| 涟水县| 平舆县| 利辛县| 垫江县| 永靖县| 额尔古纳市| 视频| 乌兰察布市| 长海县| 朔州市| 黄大仙区| 青岛市| 元氏县| 鲁甸县| 青河县| 永德县| 浦江县| 连山| 绥江县| 长葛市| 珲春市| 铜川市| 金溪县| 奉化市| 阿克陶县| 渭源县| 长顺县| 翁源县| 五常市| 治多县| 漠河县| 延边| 卫辉市| 邢台市| 来凤县|