有很多变数. #1可能更快,只要您的

JavaScript不是零件组装结果,并假定数据显着小于等效标记.如果您的结果是零碎的,或者数据不是比标记小得多,可能会更慢.它还取决于用户网络连接的速度与CPU和浏览器的速度(Chrome相当快,IE7相当慢)等.

在零碎的事情上:例如,如果你正在加载一个200行的表,你正在建立这样的行:

// ...stuff that initializes `tableBody` and clears out old stuff...

for (index = 0; index < stuff.length; ++index) {

tr = $("tr");

tr.append("td").html(stuff[i].a);

tr.append("td").html(stuff[i].b);

tr.append("td").html(stuff[i].c);

tableBody.append(tr);

}

…那么这可能会比浏览器如何通过等效的标记火焰相当慢.

但是,如果你这样做更像这样:

markup = [];

for (index = 0; index < stuff.length; ++index) {

markup.push("

");

markup.push("

" + stuff[i].a + "");

markup.push("

" + stuff[i].b + "");

markup.push("

" + stuff[i].c + "");

markup.push("

");

}

tableBody.append(markup.join(""));

…您的形状更好,因为您可以通过浏览器快速解析HTML的能力获得最大限度的重用(从根本上说,浏览器的功能以及它们的优化).

乍看起来,似乎建立一个字符串,然后将其传递给浏览器可能比使用DOM方法或jQuery直接构建结构更快(甚至更快).但是,你想的越多,越明显(是的,我已经测试过)为什么会这样. DOM是一种抽象,浏览器必须映射到其内部结构,并且您对DOM方法的每个调用都跨越JavaScript和浏览器的DOM引擎之间的边界层.相比之下,添加到数组是快速的,连接是快速的(甚至字符串concat在现代浏览器上快速).将浏览器完整的字符串保持在最小层次之间,让浏览器可以直接构建其内部结构,而不必担心其DOM的等同事项(直到/除非您稍后再询问).几年前我测试过的最后一次,结果是戏剧性的.我应该用现在的浏览器再试一次;没有时间今天,虽然…

php ajax加载,php – 什么更快? Ajax加载JSON或Ajax加载完整输出相关推荐

  1. 浏览器是直接加载二进制图片更快还是加载base64编码的图片更快?

    问题对人有帮助,内容完整,我也想知道答案0问题没有实际价值,缺少关键内容,没有改进余地 浏览器是直接加载二进制图片更快还是加载base64编码的图片更快?哪个效率更高? 例如: <img src ...

  2. excel禁用加载项_通过禁用不必要的加载项使Outlook更快

    excel禁用加载项 If Microsoft Outlook loads slower than dirt and hangs every time you try to do anything, ...

  3. 在Flutter中更快地加载您的图像资源

    本文主要介绍在Flutter中更快地加载您的图像资源 我们可以将图像放在我们的资产文件夹中,但如何更快地加载它们?这是 Flutter 中的一个秘密函数,可以帮助我们做到这一点 - precacheI ...

  4. 自动驾驶年度激辩:载货比载人更快,商业化应成为评价指标 | MEET2021

    编辑部 整理自 MEET 2021 量子位 报道 | 公众号 QbitAI "载人场景下,国内公开道路Robobus一定比Robotaxi更快落地." "关于运人和运货, ...

  5. ajax 动态加载的内容,相应的js也要在回调里加载

    ajax 动态加载的内容,相应的js也要在回调里加载,不然之前已经写好的监听函数,其实没有绑定到后来动态加载的元素上的,所以要写成回调的形式比如: $(".getStudent") ...

  6. 一个页面上有大量的图片(大型电商网站),加载很慢,你有哪些方法优化这些图片的加载,给用户更好的体验。

    一个页面上有大量的图片(大型电商网站),加载很慢,你有哪些方法优化这些图片的加载,给用户更好的体验. 图片懒加载,滚动到相应位置才加载图片. 图片预加载,如果为幻灯片.相册等,将当前展示图片的前一张和 ...

  7. 【看板】ajax动态获取后台传来json数据,加载到页面表格中

    ajax动态获取后台传来json数据,加载到页面表格中 摘要 1.WebApi 2.看板HTML 3.ajax获取后台传来的数据:在这里要注意声明提升,所以需要在for循环外var str1 = &q ...

  8. 让你的网站打开的更快

    不知道从什么时候开始,不管是写独立博客,还是网络应用,甚至写托管博客的人都会朝着"大"网站看齐,去追求网站的响应速度,通俗点说,就是白屏时间,因为据各种报告说,网站打开速度更快一些 ...

  9. TensorRT 3:更快的TensorFlow推理和Volta支持

    TensorRT 3:更快的TensorFlow推理和Volta支持 TensorRT 3: Faster TensorFlow Inference and Volta Support 英伟达Tens ...

最新文章

  1. SpringInAction--Spring Web应用之SpringMvc 注解配置
  2. mysql数据库邮箱什么类型_MySQL的数据类型介绍
  3. 关于在新建的package中用SetContentView()函数时无法找到已创建的R.layout的布局文件的的问题的解决办法
  4. 电商面试经验(mybatis)
  5. MXNet下载Fashion-MNIST错误处理
  6. 使用git-bash向码云提交项目
  7. windows网络安全以及常见网络***方式
  8. 「代码随想录」279.完全平方数 【动态规划】力扣详解!
  9. 基于HTML+CSS+JavaScript实现---美丽家乡石埇镇(建议收藏)
  10. 蓝桥杯嵌入式旧版子驱动问题-keil5下载卡死解决方法
  11. 网络游戏植入广告的案例
  12. timestamp 与 nonce 防止重放攻击
  13. 平台H5对接支付宝支付接口(含分布式源码)
  14. ASP.NET Core 和 EF Core 系列教程——入门
  15. 鼠标回报率测试软件用哪个,揭开鼠标的秘密 艾尚教你如何测回报率
  16. 外卖骑手是如何被外卖企业逼向死亡之路的?
  17. ElasticSearch.bat 文件闪退 解决
  18. python中使用requests库获取昵图网图片,且正则中re.S的用法
  19. ubuntu16.04更新系统后桌面出错的解决办法
  20. redis——从零开始

热门文章

  1. Intel处理器电源管理技术(1) - 概述 - 8086/286/386SL/486SL APM ACPI
  2. vue一级分类和耳机分类_微服务项目第13天:商品分类业务的实现
  3. C++开源矩阵计算工具——Eigen 在VS2005中的下载、配置与使用
  4. 各种渲染软件设计理论详解
  5. 【软件工程实践 · 团队项目】 第二次作业
  6. 序列化模块和hashlib模块
  7. 写了一年的博客,我收获了什么
  8. Python:numpy数组转换为json格式
  9. 剑指offer 面试题32 从1到n整数中1出现的次数
  10. 浅谈数据结构之主席树(线段树进阶版)