真实DOM操作和虚拟DOM操作的比较
<div></div><script>let box=document.getElementsByTagName('div');//获取DIV元素// time和timeEnd结合使用可以计算中间区域的耗时//DOM操作console.time('a');for (var i=0;i<=10000;i++){//这里操作了10000次DOM元素box[0].innerHTML=i;}console.timeEnd('a');//数据操作let num=0;console.time('b');for(let i =0;i<=10000;i++){//这里进行了10000次数据计算num=i;}box[0].innerHTML+=num;//最后将数据给了DOM元素console.timeEnd('b');</script>
得出结果非常的直观:
两种方式通过相同次数的操作得出相同的结果,明显,在这次实验中数据可以发现,将近有了40倍的差距,所以证明了DOM操作的性能是非常的差的,这是非常可怕的,这也是为什么我们要用数据操作替代DOM操作的原因了!
真实DOM操作和虚拟DOM操作的比较相关推荐
- React:DOM树与虚拟DOM树(概念与区别)
React:DOM树与虚拟DOM树(概念与区别) DOM的本质: 浏览器中的概念,用JS对象来表示页面上的元素,并提供了操作DOM对象的API: React中的虚拟DOM: 是框架中的概念,是程序员 ...
- 【虚拟DOM】浅析 虚拟DOM
虚拟DOM作为目前流行的DOM操作思想,被广泛用在react中,这套设计的确在用户体验上带来了显著提升.下面我们来浅析一下这个东西,一步步看下去,希望你能有所收获. 设计理念 尽管MVVM将页面逻辑实 ...
- virtual DOM和真实DOM的区别_让虚拟DOM和DOMdiff不再成为你的绊脚石
来源 | https://juejin.im/post/5c8e5e4951882545c109ae9c Keep Moving 时至今日,前端对于知识的考量是越来越有水平了,逼格高大上了 各类框架大 ...
- vue核心之虚拟DOM(vdom)与真实DOM页面渲染过程
一.真实DOM和其解析流程? 浏览器渲染引擎工作流程都差不多,大致分为5步,创建DOM树--创建StyleRules--创建Render树--布局Layout--绘制Painting 第一步,用HTM ...
- 从VirtualDom(虚拟Dom)到真实DOM
浏览器中的Dom更新 在浏览器中渲染引擎将 node 节点添加到 另外节点中时会触发样式计算.布局.绘制.栅格化.合成等任务,这一过程称为重排. 除了重排之外,还有可能引起重绘或者合成操作,也就是&q ...
- 真实DOM和虚拟DOM
文章目录 如何高效操作DOM 什么是DOM 浏览器真实解析DOM的流程 为什么说操作DOM耗时 如何高效操作DOM 虚拟DOM 什么是虚拟DOM 为什么要有虚拟DOM 虚拟DOM的作用 Vue中的虚拟 ...
- 虚拟DOM和真实DOM的区别和联系
介绍一下虚拟dom和真实dom吧 一.DOM DOM是文档对象模型(Document Object Model),它是一个结构化文本的抽象. 二.虚拟DOM 虚拟DOM只是js模拟的DOM结构,是对真 ...
- 虚拟DOM和真实DOM的区别
DOM DOM意思是文档对象模型(Dcoument Object Model),它是一个结构化文本的抽象 操作DOM 所以,只要我们想要动态修改网页的内容的时候,我们就修改DOM. var item ...
- 虚拟DOM和Diff算法 - 入门级
什么是虚拟Dom 我们知道我们平时的页面都是有很多Dom组成,那虚拟Dom(virtual dom)到底是什么,简单来讲,就是将真实的dom节点用JavaScript来模拟出来,而Dom变化的对比,放 ...
最新文章
- 自行编译Vim for Windows,加入Python支持!
- python:函数可以返回值--编写脚本计算24 + 34 / 100 - 1023
- python对英语和数学的帮助-文科女生学Python:学过初中数学和英语就能懂的编程逻辑...
- 超想做一个网络游戏!有兴趣的人进来讨论讨论!
- 大型网站系统与Java中间件实践 01 认识分布式
- php生产任务,php生产实用技能之计划任务(视频讲解)
- javascript --- 混入
- 列表相关元素及其属性
- SpringNBoot日志配置
- linux看系统硬件,Linux 查看系统硬件信息(实例详解)
- python 如果没有该key值置为空_如何制作一个python字典,为字典中缺少的键返回键,而不是引发KeyError?...
- 《张居正》—— 读后总结
- UNIX环境高级编程——标准I/O库缓冲区和内核缓冲区的区别
- Java 单向链表翻转
- Mybatis高级映射多对多查询
- idea的导包快捷键+自动导包设置
- 如何用计算机完成一篇文稿制作步骤,第5章 计算机一级演示文稿制作经典教程.ppt...
- 咖说 | 新基建中区块链的位置:基础设施的基础技术
- 【星海出品】Horizon安装
- 【华为OD机试真题 python】补种未成活胡杨 【2022 Q4 | 100分】