重典的博客 发表于 2012-12-10 15:36:30

JavaScript 字符串拼接性能分析小记

<div id="cnblogs_post_body">JavaScript 中,我们经常会因为各种各样的原因去拼接字符串,可能是为了Html的呈现,可能是为了属性的设置,也可能仅仅是为了输出调试日志。
  每次拼接字符串的时候,我们很自然地去考虑它的性能,是不是str=str+a是不是和str+=a性能一样,使用数组Join是不是会更快一些,哪一种才是最好的实现。
的确,我们有诸多方式去拼接字符串,下面本文将会将主流字符串拼接方逐一进行性能评测。
公平起见,我们的测试都是跑在各浏览器的最后一个正式发布版本上,即IE9 ,Chrome19,FF13 及Opera12。
为了测试,我们先构造一个 data,它有个成员,是个100大小的数组。
<div id="codeSnippetWrapper" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; height: 189px; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;"><div id="codeSnippet" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">   1: var length = 100;    2: var data = { list: [] };    3: for (var i = 0; i < length; i ++) {    4:   data.list.push({    5:         str1: 'chsword, 邹健, Zou Jian ',    6:         str2: 'http://chsword.cnblogs.com',    7:         str3: 'http://www.chsword.net',    8:         str4: '"http://weibo.com/chsword","http://t.qq.com/chsword"',    9:         str5: 'test' 10:   }); 11: };
页: [1]
查看完整版本: JavaScript 字符串拼接性能分析小记