微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

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

解决方法

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

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

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

原文地址:https://www.jb51.cc/js/157545.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐