原生js动态创建元素的性能对比:直接创建并设置样式、字符串拼接、数组

本文主要是介绍原生js动态创建元素的性能对比:直接创建并设置样式、字符串拼接、数组,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 直接创建并设置样式

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body></body>
<script>function fn() {var d1 = +new Date(); // 日期对象转换为数值for (var i = 0; i < 1000; i++) {var div = document.createElement('div');  // 需要用到对象的事件时使用div.style.width = '100px';div.style.height = '2px';div.style.border = '1px solid #000';document.body.appendChild(div);}var d2 = +new Date();console.log(d2 - d1); // 89  77 毫秒  每刷新一次 数据不同}fn();
</script>
</html>

2. 字符串拼接

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body></body>
<script>function fn() {var d1 = +new Date();// var arr = [];// var str = '';for (var i = 0; i < 1000; i++) {document.body.innerHTML += '<div style="width:100px; height:2px; border:1px solid #000;"></div>';}var d2 = +new Date();console.log(d2 - d1); // 6615 毫秒  每刷新一次 数据不同}fn();
</script>
</html>

3. 数组

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body></body>
<script>function fn() {var d1 = +new Date();var arr = [];for (var i = 0; i < 1000; i++) {arr.push('<div style="width:100px; height:2px; border:1px solid #000;"></div>');}document.body.innerHTML = arr.join(''); // 简单结构使用var d2 = +new Date();console.log(d2 - d1); // 18 毫秒  每刷新一次 数据不同}fn();
</script>
</html>

 

这篇关于原生js动态创建元素的性能对比:直接创建并设置样式、字符串拼接、数组的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/974002

相关文章

[SCF+wetest+jmeter]云性能压测工具使用方案

前言 压测太难?局域网压力无法判断服务器网络指标?无法产生非常大的并发量?云性能太贵? 也许我们可以把各种简单的工具拼起来进行压力测试! 准备 https://cloud.tencent.com/product/scf https://cloud.tencent.com/product/lm 云压测背景 常规压测工具,所有请求均从本地出发,走局域网可能导致网络请求的实际效果不够真实

虚拟目录及多端口服务器设置

1、设置多虚拟目录方法 修改hosts 位置是C:\WINDOWS\system32\drivers\etc httpd-vhosts.conf在wamp中的位置是C:\wamp\bin\apache\Apache2.2.21\conf\extra     在httpd.conf中找到Include conf/extra/httpd-vhosts.conf 将前面的“#”去掉 然后再wam

毕业论文中的“题注”设置(经验五)

操作系统:Windows7 WORD版本:2013 论文格式: XXXXX.docx           在此之前,请先把自定义样式刷好,如不清楚请看 点击打开链接 查看里面的自定义样式。 设置题注需要多级列表的支持,这样以后当在其中插入一章或一个小节,后续章节和小节会自动更新很方便,不用依次的更改。 快捷键:在第一个编号后面输入内容后按回车键自动生成第二个编号,而不是

2、swift学习-创建基本的控件

与OC想比较而已,其实用swift创建一些基本控件的方法都是一样的,一些基本的属性都是大同小异,只是语法稍稍不同而已,对于刚刚由OC开始学习swift的可能有点不太习惯,但是没关系,多写多练自然而然就会顺手的。 一、用swift创建一个UILabel func createLabel() {         let label = UILabel (frame: CGRect

Xcode Build Search Paths设置

c/c++ 头文件引用问题 include <> 引用编译器的类库路径下的头文件 include “” 引用工程目录的相对路径的头文件 include 是编译指令,在编译时,编译器会将相对路径替换成绝对路径,因此,头文件绝对路径=搜索路径+相对路径。 Xcode Build Settings 下 Search Paths设置搜索路径 Header Search Paths:头文件搜索路径

Swift 常用控件的创建 2022年11月更新

Swift 常用控件的创建 一、基础控件 1.1 UILabel let label:UILabel = UILabel.init(frame: CGRect(x: 100, y: 100, width: 100, height: 20))label.text = "测试字符串"label.textColor = UIColor.redlabel.font = UIFont.syste

Swift学习 字符串的操作 2022年11月更新

Swift 字符串的使用 Swift 字符串是一系列字符的集合。例如 “Hello, World!” 这样的有序的字符类型的值的集合,它的数据类型为 String 一、基本使用 1.1字符串的拼接 let str1 = "Hello"let str2 = "World"let str3 = str1 + str2print(str3); 1.2 字符串的插入 for index

Swift 字典数组元组的使用 - 2022年11月更新

Swift 字典数组元组的使用 一、字典 Swift 字典用来存储无序的相同类型数据的集合,Swift 字典会强制检测元素的类型,如果类型不同则会报错。Swift 字典的key没有类型限制可以是整型或字符串,但必须是唯一的。let 修饰的字典为不可变字典,var 修饰的字典为可变字典。 1.1 字典的创建和取值 let dict = ["name":"张三","age":"20","add

iOS 数组排序

##1、字母排序 NSArray *arrData = @[@"i",@"b",@"a",@"d",@"e",@"f",@"g",@"h",@"c"];NSArray *sortArray = [arrData sortedArrayUsingSelector:@selector(compare:)];NSLog(@"%@",sortArray); 输出结果: ##2、数字排序

SpringBoot 学习一:创建第一个工程

1、pom.xml 添加依赖 <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.or