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倍以上,现代浏览器相反.建议用数组来合并大量字符串

  • 相关阅读:
    centos安装composer
    fmt.Printf()
    php进程,线程,异步
    php异步处理
    php安装swoole扩展
    冒泡排序
    快速排序
    php的foreach指针
    无密钥登陆
    ubuntu18.04切换阿里云源
  • 原文地址:https://www.cnblogs.com/yushunwu/p/2176856.html
Copyright © 2011-2022 走看看