欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js数组性能实例分析

程序员文章站 2022-03-08 22:31:52
1.在数组添加的过程中尽量使得数组内容的类型保持一致 2.数组添加的时候: 相比两种concat方法的传参,当接受参数为数组时,执行效率要高于接受参数为非数组 索引器多数情况下执行效率要高于push...

1.在数组添加的过程中尽量使得数组内容的类型保持一致

2.数组添加的时候:

相比两种concat方法的传参,当接受参数为数组时,执行效率要高于接受参数为非数组

索引器多数情况下执行效率要高于push方法

当执行次数越来越多时,索引器的执行效率开始不如push方法

3.字符串的情节,建议先形成数组,用数组的形式添加进去,然后用join分割形成字符串. 因为用+=拼接字符串是十分耗性能.如:

let str1 = "";
let len = 0;
while(len<10000){
str1 += len+"";
len++;
}
let arrstr = [];
let len = 0;
while(len<10000){
    arrstr[len] = len;
     len++;
}
let str2 = arrstr.join("");

像上面代码中 str1的形成速度就没有str2的要快速.

当字符串相对较小(小于20字符)且连接数量也较小时(小于1000个),所有的使用加法运算符都能在不到1毫秒内轻松完成连接。增加字符串数量或大小时,ie7中性能会明显下降。字符串大小增加时,firefox中加法运算符和数组成技巧性能差异会变小。字符串数量增加时,safari中加法运算符和数组成技巧性能差异会变小。改变字符串数量或大小时,chrome和opera中加法运算符一直保持领先优势。

所以,由于在各浏览器下性能不一致,选用技术取决于实际情况和面对的浏览器。

大多数情况下,加法运算符是首选;如果用户主要使用ie6或7,并且字符串大小较大或数量较多时,那么数组技术就很值得。

4.注意js的垃圾回收机制(不记得了去百度,这里推荐点击打开链接)