.append VS .html VS .innerHTML 性能

2024-02-28

这个网站对 3 种不同的方法进行了测试,看起来.html是最快的,其次是.append。其次是.innerHTML。有人可以向我解释原因吗?

这是进行比较的网站 http://jsben.ch/#/yDvKH三种方法之中。

我读过这个这个问题 https://stackoverflow.com/questions/3015335/jquery-html-vs-append这是相关的,但我不太明白给出的答案,而且这个问题并没有真正详细说明.innerHtml.

我不明白以下部分:

创建了一个临时元素,我们将其称为 x。 x 的innerHTML 设置为您传递的HTML 字符串。然后 jQuery 会将每个生成的节点(即 x 的子节点)传输到新创建的文档片段,然后将其缓存以供下次使用。然后它将返回片段的 childNodes 作为新的 DOM 集合。 请注意,它实际上比这复杂得多,因为 jQuery 进行了一系列跨浏览器检查和各种其他优化。例如。如果你刚刚通过<div></div>对于 jQuery(),jQuery 将采取捷径,只需执行 document.createElement('div') 即可。

有人可以简化这个吗?


这三个对我来说都很慢。每次迭代修改 dom 的速度都很慢。

http://jsperf.com/jquery-append-vs-html-list-performance/24 http://jsperf.com/jquery-append-vs-html-list-performance/24

我刚刚在其中添加了一个新测试:

var html = [];
for (var i = 0; i < len; i++) {
  html.push('<div>Test ' + i + '</div>');
}

document.getElementById('list').innerHTML = html.join('');

这又快得多了。 :)

我在 Firefox 中的方法每秒执行 26k Ops,而每秒执行 1,000、10,000 和 13

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.append VS .html VS .innerHTML 性能 的相关文章

随机推荐

  • 使用 Jackson 反序列化枚举

    我正在尝试使用 Jackson 2 5 4 反序列化枚举 但失败了 而且我不太明白我的情况 我的输入字符串是驼峰式大小写 我想简单地映射到标准枚举约定 JsonFormat shape JsonFormat Shape STRING pub
  • JBoss AS 7 中的 hibernate 是否需要 c3p0 连接池

    我的项目正处于开始阶段 我在休眠方面遇到了一个大问题 我正在使用 hibernate 4 1 8 Final 和 c3p0 0 9 1 2 我有以下实体类 javax persistence Entity Table name CUSTOM
  • 在 Android 应用程序中提交带有 POST 数据的表单

    我已经在网上搜索一种方法来做到这一点大约一周了 但我似乎无法弄清楚 我正在尝试实现一个应用程序 我的大学可以使用它来允许用户轻松登录校园内的各种服务 目前的工作方式是他们进入在线门户 选择他们想要的服务 填写他们的用户名和密码 然后单击登录
  • 使用 python 检测 Windows 10 上的 USB 设备插入

    我无法获取以下代码检测USB设备插入 http timgolden me uk python win32 how do i detect device insertion html在我的 Windows 10 64 位 计算机上使用 Pyt
  • javascript数组数字键导致过多的“未定义”

    我当前的 webApp 有一个 OOD 系统 每个元素都有一个 id 并放置在每个页面的 elements 数组中 无论 elemenet 放置在哪个页面 每个新元素的 id 都是一个连续的数字 因此 例如 如果我们在一个有 7 个页面的项
  • 如何检查密码强度? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何检查密码的强度 作为string 使用 Net框架 基本但合乎逻辑的 enum PasswordScore Blank 0 VeryW
  • 在 JQuery 中查找节点的成本是多少?

    我总是保存结果find 为了避免多次子树遍历 如果我多次需要该值 var a bar div foo find a bar a bar removeClass code here a bar bazz 代替 div foo find a b
  • 如何将 vcl 样式挂钩应用于表单的特定组件?

    我正在使用这个问题的答案的 vcl 风格钩子close button of a tabsheet not supporting vcl styles https stackoverflow com questions 10531153 cl
  • constexpr 深度限制与 clang (fconstexpr-深度似乎不起作用)

    有没有办法配置 constexpr 实例化深度 我正在运行 fconstexpr depth 4096 使用 clang XCode 但仍然无法编译此代码并出现错误 Constexpr 变量 fib 1 必须由常量表达式初始化 无论是否设置
  • 在 String.format (Java) 中使用“%1$#”是什么意思?

    语言是Java 什么是 1 意思是在 static String padright String str int num return String format 1 num str str 在 Java API 中 String form
  • 让用户滚动停止scrolltop的jquery动画?

    我想让网页自动滚动到某个元素 但是我不希望滚动阻止用户输入 如果它开始滚动然后用户滚动 我希望自动滚动停止并让用户拥有完全控制权 所以我最初认为我可以做这样的事情 var animatable body html animatable an
  • 在 Angular2 中管理不同的基本布局

    在带有 ui router 的 angularjs 应用程序中 我可以执行以下操作 stateProvider state app url abstract true template div div state app auth url
  • 将项目从一个 Eclipse 转移到另一个 Eclipse 的最佳方式

    我正在尝试将我在一个带有数据库的 Eclipse JEE6 项目中所做的所有工作转移到另一个 Eclipse 程序 我知道我将不得不重新配置很多并重建很多库文件 但是尽可能多地传输的最简单方法是什么 您应该将 Eclipse 项目导出为存档
  • Promise 在 AngularJS 茉莉花测试中解决得太晚了

    我写了以下茉莉花测试ng describe 运行karma 我在用es6 promise https github com jakearchibald es6 promisePhantomJS 的填充 var myModule angula
  • 以关键字作为变量的 Flask sqlalchemy 查询

    假设我有一个这样的模型 class User db Model id db Column db Integer primary key True hometown db Column db String 140 university db
  • 查看 Subversion 中锁定哪些文件的最佳方法是什么?

    我终于让我的团队从 SourceSafe 切换到 Subversion 不幸的是 我的经理仍然想对每个文件使用独占锁 因此 我在每个文件上设置了 svn needs lock 属性 并创建了一个预提交挂钩以确保该属性保持设置状态 我们在 L
  • 如何检查 URL SSL 是否有效?有开放的API吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我目前正在创建一个小型 PHP 脚本 vanilla PHP w WordPress 来检查 SSL 是
  • 安装 Team Foundation Server

    设置 TFS 2008 工作组版新实例的最佳实践是什么 具体来说 约束条件如下 必须安装在现有的 Windows Server 2008 64 位上 TFS应用层仅为32位 我应该在 Windows Server 2008 或 2003 的
  • 如何在特定点停止 UIScrollView?

    你如何阻止UIScrollView在特定点 也就是设置最终的位置UIScrollView用户交互后 具体来说 如何设置沿水平方向的间隔UIScrollView 这样它只会在这些点停止 我希望我所说的已经足够清楚了 看看方法scrollVie
  • .append VS .html VS .innerHTML 性能

    这个网站对 3 种不同的方法进行了测试 看起来 html是最快的 其次是 append 其次是 innerHTML 有人可以向我解释原因吗 这是进行比较的网站 http jsben ch yDvKH三种方法之中 我读过这个这个问题 http