JavaScript字符串拼接性能对比:join与concat

作者:巡夜人

时间:2026-10-25

浏览:656

本文通过JavaScript代码对比数组join方法与字符串直接拼接(concat)的性能差异。测试逻辑包含生成大量重复字符串,分别使用push结合join和直接累加方式处理,最终计算耗时比值。实验强调循环次数需足够大以体现性能差距,结果直观展示join在大规模数据处理中的优势。

文章目录

JavaScript字符串拼接性能对比:join与concat

具体实现代码如下所示:

 
记录起始时间戳:var oldtime = new Date().getTime();
初始化空数组:var str = [];
执行循环,条件为 i 从 0 到 99999:for(i=0;i<100000;i++)
{ 
将固定长字符串推入数组:str.push('abcabcabcabcabcabcabcabcabcabcabcabc');
} 
记录循环结束后的时间戳:var newtime = new Date().getTime();
计算数组拼接耗时:var joinTime = (newtime - oldtime);
重置起始时间戳用于对比测试:var oldtime = new Date().getTime();
初始化空字符串变量:var str='';
执行相同次数的循环:for(i=0;i<100000;i++)
{ 
通过加号运算符直接拼接字符串:str += 'abcabcabcabcabcabcabcabcabcabcabcabc';
} 
记录字符串拼接结束后的时间戳:var newtime = new Date().getTime();
计算直接拼接耗时:var concatTime = (newtime - oldtime);
弹窗输出两种方式的耗时比值:alert("join / concat: " + (joinTime * 1.0 / concatTime));

注意:为了确保测试结果具有统计学意义,循环执行的次数必须设置得足够大。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章