日期:2014-05-16 浏览次数:20336 次
java提倡在处理字符串拼接的时候用StringBuffer,好处不多说了,这不是此文的本意,总之谁用谁知道。
但是js貌似没有这方面专门处理字符串的类或者函数阿,所以有很多程序员包括我在内,大篇幅加大手笔的采用str1 + str2+...的形式,很多时候外面还有for循环...
难道js中真没有能提高在字符串拼接方面的性能的办法了吗? 答案是有的,见下文:
字符串的拼接在我们开发中会经常遇到,所以我把其放在首位,我们往往习惯的直接用+=的方式来拼接字符串,其实这种拼接的方式效率非常的低,我们可以用一种巧妙的方法来实现字符串的拼接,那就是利用数组的join方法。
- <div class="one" id="one"></div>
- <input type="button" value="效率低" onclick="func1()" />
- <input type="button" value="效率高" onclick="func2()" />
- //效率低的
- function func1(){
- var start = new Date().getTime();
- var template = "";
- for(var i = 0; i < 10000; i++){
- template += "<input type='button' value='a'>";
- }
- var end = new Date().getTime();
- document.getElementById("one").innerHTML = template;
- alert("用时:" + (end - start) + "毫秒");
- }
- //效率高的
- function func2(){
- var start = new Date().getTime();
- var array = [];
- for(var i = 0; i < 10000; i++){
- array[i] = "<input type='button' value='a'>&qu