js中高效拼接字符串

写在前面

面试的过程,很有可能面试到c#那种方式拼接字符串更高效,然后就会引申到js中的拼接方式。这也是我在面试中遇到的问题,当时,也真没比较过js中到底哪种方式更高效。然后,跟猜测一样,说了使用数组的方式,然后使用join方法实现。

代码测试

 1 <!DOCTYPE html>
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5     <title>字符串拼接</title>
 6     <script type="text/javascript">
 7         var start = new Date();
 8         var str = "";
 9         for (var i = 0; i < 1000000; i++) {
10             str += "test";
11         }
12         var end = new Date();
13         document.writeln("+拼接字符串,耗时:" + (end.getMilliseconds() - start.getMilliseconds()));
14         document.writeln("<br/>");
15         var begin = new Date();
16         var arry = new Array();
17         for (var i = 0; i < 1000000; i++) {
18             arry.push("test");
19         }
20         arry.join("");
21         var stop = new Date();
22         document.writeln("数组方式拼接字符串,耗时:" + (stop.getMilliseconds() - begin.getMilliseconds()));
23     </script>
24 </head>
25 <body>
26 </body>
27 </html>

测试结果
IE11

+拼接字符串,耗时:39
数组方式拼接字符串,耗时:31

IE11兼容性视图

+拼接字符串,耗时:40
数组方式拼接字符串,耗时:33

IE10

+拼接字符串,耗时:39
数组方式拼接字符串,耗时:32

IE9

+拼接字符串,耗时:36
数组方式拼接字符串,耗时:33

IE8

+拼接字符串,耗时:35
数组方式拼接字符串,耗时:35

IE7

+拼接字符串,耗时:37
数组方式拼接字符串,耗时:35

总结

在面试过程中遇到的一个知识点,在此记录一下。

时间: 2024-10-08 23:42:43

js中高效拼接字符串的相关文章

[转]JS中对象与字符串的互相转换

原文地址:http://www.cnblogs.com/luminji/p/3617160.html 在使用 JSON2.JS 文件的 JSON.parse(data) 方法时候,碰到了问题: throw new SyntaxError('JSON.parse'); 查询资料,大概意思如下: JSON.parse方法在遇到不可解析的字符串时,会抛出SyntaxError异常. 即:JSON.parse(text, reviver),This method parses a JSON text t

Js中常用的字符串,数组,函数扩展

由于最近辞职在家,自己的时间相对多一点.所以就根据prototytpeJS的API,结合自己正在看的司徒大神的<javascript框架设计>,整理了下Js中常用一些字符串,数组,函数扩展,一来可以练练手,二来也锻炼下自己的代码能力.由于代码里面的注释自认为已经非常详细,所以就直接贴代码了. 1. 字符串扩展: ;(function() { var method, stringExtends = { /** * 删除字符串开始和结尾的空白 * @returns {string} */ stri

项目--js中替换目标字符串指定的所有字符

js提供的字符串替换函数replace可以将字符串中符合条件的字符串替换成目标字符串.但是一般使用字符串进行查找替换只能替换第一个符合条件的结果.如var str = 大家都是男人吗,难道不是吗!;str = str.replace('吗', '嘛');alert(str);var str = 大家都是男人吗,难道不是吗!;str = str.replace('吗', '嘛');alert(str);上述代码中只有第一个吗被替换,输出结果是大家都是男人嘛,难道不是吗! ,嘿嘿如果想全部替换字符串

JS中如何将字符串转化成日期 日期格式化方法

<!--     /**     * 对Date的扩展,将 Date 转化为指定格式的String     * 月(M).日(d).12小时(h).24小时(H).分(m).秒(s).周(E).季度(q) 可以用 1-2 个占位符     * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)     * eg:     * (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2006-0

js中格式化时间字符串

.net 程序员肯定有遇到过,将一个对象json序列化之后Date 字段 就会转化成 '/Date(1370770323740)/' 这种格式的数据,下面介绍一种在js中,关于时间格式的转换. <script> function formatDate(date, format) { if (!date) return; if (!format) format = "yyyy-MM-dd"; switch(typeof date) { case "string&qu

js中多行字符串拼接

前言 我们会经常遇到这样的场景,需要拼接多行字符串,在字符串中动态插入一些数据以达到业务的需求.但是js中并没有标准的多行编辑的函数,于是聪明的程序员们便脑洞大开,书写出许多有趣的方法. 1 2 3 4 5 <div class="links"> <a href="http://qianlongo.github.io/">谦龙的博客</a> <a href="http://aximario.github.io/&q

JS中三种字符串连接方式及其性能比较

工作中经常会碰到要把2个或多个字符串连接成一个字符串的问题,在JS中处理这类问题一般有三种方法,这里将它们一一列出顺便也对它们的性能做个具体的比较. 第一种方法  用连接符“+”把要连接的字符串连起来: str="a"; str+="b"; 毫无疑问,这种方法是最便捷快速的,如果只连接100个以下的字符串建议用这种方法最方便. 第二种方法  以数组作为中介用 join 连接字符串: var arr=new Array(); arr.push(a); arr.push

js中把JSON字符串转换成JSON对象最好的方法

在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 第一种解析方式:使用eval函数来解析,并且使用jQuery的each方法来遍历 用jQuery解析JSON数据的方法,作为jQuery异步请求的传输对象,jQuery请求后返回的结果是json对象,这里考虑的都是服务器返回JSON形式的字符串的形式,对于利用JSONObject等插件封装的JSON对象,与此亦是大同小异,这里不再做说明. 这里首先

js中如何将字符串转化为时间,并计算时间差

在前台页面开发时通常会用到计算两个时间的时间差,先在此附上实现方法 [javascript] view plain copy //结束时间 end_str = ("2014-01-01 10:15:00").replace(/-/g,"/");//一般得到的时间的格式都是:yyyy-MM-dd hh24:mi:ss,所以我就用了这个做例子,是/的格式,就不用replace了. var end_date = new Date(end_str);//将字符串转化为时间