写在前面
面试的过程,很有可能面试到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