zoukankan      html  css  js  c++  java
  • 高性能Javascript DOM编程学习笔记

    用脚本访问DOM代价很昂贵,它是富Web应用中常见的性能瓶颈。比如,修改DOM的样式会导致页面的重排或重绘,

    Js访问dom就是慢,

    因为在浏览器实现中,js是一个引擎,dom是一个与语言无关的东西,由别一个引擎在做

    IE   js 由jscript.dll实现   JScript    dom由 mshtml.dll实现, 也称Trident

    Fiefox    js 由TraceSpider实现   dom由gecko

    chrome js 由v8实现   dom由webCore实现

    所以js对dom的操作,其实是基于接口的编程,当然就会慢,访问另一个东西的接口,必然有性能开销。书上的比喻将两都说成两个小岛,每次操作都要往返于两个小岛,那就要走过桥梁,很形象。

    就此要尽量减少访问dom次数,

    比如常见的循环中,多次访问dom操作,是个错误,应该将计算放在js中,

    for(var i = 0;i<1000;i++) {

    document.getElementById('here').innerHTML += 'a';

    }

    应改为

    var str = '';

    for(var i = 0;i<1000;i++) {

    str += 'a';

    }

    document.getElementById('here').innerHTML = str;

    innerHTML 比dom 原生方法

    在速度上      ie等老浏览器中   innerHTML 比dom 快3倍以上,现代浏览器相反.建议用数组来合并大量字符串

  • 相关阅读:
    mysql只会使用到一个索引的原因
    SQL优化-三
    SQL优化-二
    SQL优化-一
    关于调和级数的证明
    SA 复习笔记
    点分治学习笔记
    FFT/NTT复习笔记&多项式&生成函数学习笔记Ⅰ
    python3+selenium webdriver实战应用篇-打造爱奇艺直播间机器人
    Photoshop如何修改(半)透明像素的RGB值
  • 原文地址:https://www.cnblogs.com/yushunwu/p/2176856.html
Copyright © 2011-2022 走看看