jQuery .data() 与 HTML5 data-XXX 性能对比

2024-03-24

我发现了这个测试http://jsbin.com/ekofa/2 http://jsbin.com/ekofa/2这表明 HTML5 data-XXX 比 jQuery 更快.data()。我正在启动一个项目,需要将大量小数据片段放置在 HTML 元素上,其中性能至关重要。我应该使用.data()或 HTML5 数据-XXX?该测试相关且准确吗?


我想这取决于你来自哪里,但为了存储simple特性,data-XXX会更快只是因为如何$.data() http://api.jquery.com/jQuery.data/ and .data() http://api.jquery.com/data/ work.

例如,当您这样做来获取数据时:

var thing = $('#myelement').data('thing')

你实际上在做的是这样的:

var thing = $.cache[$('#myelement')[0][$.expando]]['thing'];

这比直接获取属性要长,如下所示:

$('#myelement').attr('thing')

所以通过数据你实际上得到的是$.expando属性just获取身份证then即将$.cache为了获取对象,这个额外的步骤意味着它会持续变慢。

话又说回来,data-xxx属性并不用于存储事件处理程序或您正在主动操作的其他非常复杂的对象...因此它们在应用程序中不是 1:1,因此直接比较可能不公平。尽管它们在许多情况下用于相同的用途,但它们也有不同的两者都不常见的应用程序...因此在选择要使用的应用程序时请记住这一点。这通常适用于任何 2mostly国际海事组织的通用技术。

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

jQuery .data() 与 HTML5 data-XXX 性能对比 的相关文章

随机推荐

  • OpenCV::dnn::readNet 抛出异常

    我正在关注本教程 https learnopencv com object detection using yolov5 and opencv dnn in c and python 加载yolov5 onnx使用 OpenCV DNN 模
  • CPU如何对指令重新排序

    我最近读到了有关 CPU 指令重新排序以提高效率的内容 但我无法理解CPU如何重新排序其指令 我的意思是编译时重新排序是可以想象的 因为编译器可以预见即将到来的代码 但是对于一个接一个地读取指令的CPU 它如何看到即将到来的指令并对它们重新
  • 计算实验室信息系统 (LIS) 帧的校验和

    我正在开发一个仪器驱动程序实验室信息系统 https www limswiki org index php Laboratory information system 我想知道如何计算帧的校验和 校验和算法说明 用字符 0 9 和 A F
  • 我应该在每个视图中都有一个 NSFetchedResultsController 吗?

    我在我的第一个 iPhone 应用程序中使用 Core Data 并尝试理解 NSFetchedResultsController 它在我的根视图中效果很好 我是否需要在每个视图控制器中实例化一个实例 如果是这样 是否有一个模板可以使这像在
  • Ruby on Rails 教程自定义 CSS 未显示在应用程序中

    我正在运行 Michael Hartl 的 Ruby on Rails 教程 我的 boostrap sass 正在工作 但是我无法显示任何自定义修改 在第 5 5 章中 我们添加了 bootstrap sass gem 这是我的 Gem
  • 删除 javascript 字符串中的元音变音或特殊字符

    以前从未在 javascript 字符串中使用变音符号或特殊字符 我的问题是如何删除它们 例如我在 javascript 中有这个 var oldstr Bayern M nchen var str oldstr split join 结果
  • PurgeCSS 不会从 NextJS 项目中删除未使用的 CSS

    我正在尝试使用 PurgeCSS 从我的 NextJS 项目中删除未使用的 css 然而 我很难将 PurgeCSS 最基本的集成到我的项目中来工作 我正在使用这个文档 https www purgecss com guides next
  • 以编程方式清除 win 7 中的图标缓存 - 使用 C# 或 Visual Basic 执行 ie4uinit.exe-ClearIconCache

    我们更改了 WPF 应用程序的徽标图标 然后更改了主可执行文件的图标 在我的 Win 7 电脑上 刷新图标缓存时出现问题 主可执行文件的桌面快捷方式以及可执行文件图标的预览在 Windows 资源管理器中仍然显示旧图标 即使重新启动系统 问
  • Scala:将数组放入集合或映射中的轻量级方法

    Since 不适用于数组 我无法有效地创建一组数组 或带有数组键的映射 我宁愿不承受将数组转换为向量或列表或其他东西的性能损失 是否有一种轻量级的方法来定义数组上的自然比较和哈希码 以便我可以将它们放在集合中 Use WrappedArra
  • 异步 CMIS 客户端:与 OpenCMIS 并行下载或上传多个文件

    The OpenCMIS 0 14 的变更日志 https www mail archive com announce apache org msg03240 html says 客户端添加了对异步操作的支持 图书馆 作为 CMIS 客户端
  • L2 逐出时从 L1 缓存逐出缓存

    我有一个关于内存系统遵循的策略的基本问题 考虑具有私有 L1 和 L2 缓存的核心 在二级缓存之后 我们有一个总线 一致性流量在该总线上运行 现在 如果地址 X 的缓存线从二级缓存中逐出 是否有必要从一级缓存中逐出该地址 驱逐的原因可能是它
  • 从 Node.JS 调用 Haskell

    我想从 Node js 对 Haskell 代码进行 RPC 调用 Node 和 Haskell 都有哪些库 我只能找到 XML RPC 和 Zeromq 但它们似乎不稳定 对于 Haskell 端的 xml rpc haxr 库已经存在很
  • MySQL/Python -- 提交的更改未出现在循环中

    使用 MySQL Connector Python 我有一个循环 每 2 秒检查一次值是否发生变化 没有所有的内容 这是循环 打印是为了测试目的 try while True request database get row table s
  • 将文件从请求移动或复制到多个位置

    我正在使用 Laravel 并接受输入和文件上传 此页面接受用户想要对订单进行的更改 最终目标是获取此输入并将其应用于多个订单 我可以重复使用每个订单的输入 但是 对于我来说 将该请求中的文件复制到多个目录的好方法是什么 例如 如文档中所示
  • SQL Server 中的条件条件

    我有一个包含 3 个值的组合框 All Failed Completed ALL 加载所有行 无条件 Failed and Completed 在 状态 列上加载条件 ALL SELECT FROM tbl Location 失败和完成 S
  • 如何在不使用 conda 的情况下从源代码安装 Bob

    Bob https www idiap ch software bob 推荐其用户install https www idiap ch software bob install它的包使用conda 但我不想用conda 我如何从源代码安装它
  • 如何使用基于单选按钮输入的jquery跳过隐藏输入字段的验证(删除必需属性)

    使用 bootstrap 有一个简单的形式 为了进行验证 我使用了 必需 的引导程序 效果很好 但在我的表单中 我根据单选按钮隐藏带有查询的输入字段 我的问题是提交表单需要隐藏的输入字段 我怎样才能跳过这个 我不想验证隐藏的输入 Error
  • GCC 编译器选项 -wno-four-char-constants 和 -wno-multichar

    找不到任何有关的文档 Wno four char constants 但是我怀疑它类似于 Wno multichar 我对么 它们是相关的 但不是同一件事 编译与 Wall pedantic标志 分配 int i abc 产生 警告 多字符
  • socket.io,“访问控制允许来源”错误

    我已经设置了一个带有套接字 io 转动的节点服务器 并尝试通过另一台服务器连接到它 然而 不同计算机上的某些浏览器给我这个错误 并使其始终重新连接 XMLHttpRequest 无法加载 当请求的凭据模式为 include 时 响应中 Ac
  • jQuery .data() 与 HTML5 data-XXX 性能对比

    我发现了这个测试http jsbin com ekofa 2 http jsbin com ekofa 2这表明 HTML5 data XXX 比 jQuery 更快 data 我正在启动一个项目 需要将大量小数据片段放置在 HTML 元素