javascript – 将元素添加为字符串与createElement()

对于我想要完成的任务,我可以使用createElement()或inner HTML和字符串.

到底哪个真的更快?长期以来我一直认为字符串比返回相同结果的内置函数要慢得多,但这是真的吗?

我问,因为我尝试过createElement(),似乎所有必须添加到每个元素的属性都会减慢速度.不仅如此,它也占用了更多的空间.我有一个基于数组长度的1-infinity循环,但最好在显示减速迹象之前加上最多50个元素.在我想要创建的这50个元素中,大约还有10个元素.总而言之,它实际上创造了大约500个元素.

通过创建具有内置函数的元素,我注意到比平常更快的减速,并且由于我无意中重置该数组(数组是5D并且未在同一脚本中设置),我想知道哪个在做到这一点之前,无论是速度还是简单的更好的练习,都是真的更好.

解决方法

此问题的性能差异因浏览器和(有时)在任何一个浏览器的不同版本之间而异,我看过一些不同的文章就此问题提供了不同的建议.

根据我自己的经验,我只记得有一次我真的需要对一个大的网页进行大的更改,特别是重建一个包含数百个或可能有数千个行的表元素,每个行都有很多单元格,我发现构建了一个字符串变量然后在结束时设置innerHTML比尝试通过DOM函数快得多.但是,这是针对特定的Intranet Web应用程序,保证100%的用户将使用IE,因此我不需要担心跨浏览器测试.

即使你决定采用字符串构建路线,对于如何提高速度也会有不同的看法.我读了不止一篇文章,比较了不断添加到字符串结尾的性能(标准myString =’某些”其他’类型操作),而不是追加到数组变量的末尾然后使用Array.join ()在最后创建一个大字符串.对于某些浏览器的某些版本而言,这又产生了很大的不同,但在其他浏览器中没有区别或更糟.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...