天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

JavaScript 字符串連接性能優(yōu)化

復制代碼 代碼如下:
var str = "hello";
str += " world";

后臺所做工作:
1)創(chuàng)建存儲 "hello" 的字符串,且使 str 指向它。
2)創(chuàng)建存儲 "world" 的字符串。
3)創(chuàng)建存儲結果的字符串。
4)將 str 中的當前內容復制到結果字符串中。
5)把 world 復制到結果字符串中。
6)更新 str ,使 str 指向結果字符串。
每拼接一次字符串就循環(huán)重復2)~6),如果重復成百上千次則會非常消耗資源,影響性能。
解決方法:
使用 Array 對象存儲字符串,之后使用 join()方法輸出結果。
仿照 Java 中的 StringBuffer 類。
復制代碼 代碼如下:
function StringBuffer(){
this._strings = new Array;
}
StringBuffer.prototype.append = function (str){
this._strings.push(str);
}
StringBuffer.prototype.toString = function (){
return this._strings.join("");
}

測試性能:
代碼1:使用 "+=" 拼接字符串
復制代碼 代碼如下:
var d = new Date();
var str = "";
for(var i=0;i<10000;i++){
str += "test";
}
var d2 = new Date();
document.writeln(d2.getTime()-d.getTime());

代碼2:使用 StringBuffer
復制代碼 代碼如下:
var d = new Date();
var str = new StringBuffer();
for(var i=0;i<10000;i++){
str.append("test");
}
var res = str.toString();
var d2 = new Date();
document.writeln(d2.getTime()-d.getTime());

從多次測試結果看來,使用StringBuffer 可以節(jié)省50%以上的時間。

JavaScript技術JavaScript 字符串連接性能優(yōu)化,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 牲高潮99爽久久久久777 | 毛片无码免费无码播放 | 91精品国产品国语在线不卡 | 日本午夜视频在线 | 日本最新免费区中文 | 天天操天天干天天透 | 亚州三级久久电影 | 秋霞伦理手机在线看片 | 天天躁躁水汪汪人碰人 | 免费国产成人高清在线看软件 | 桥本有菜护士 | 中文字幕一区中文亚洲 | MMM日本兽交 | 无码一卡二卡三卡四卡 | 少妇伦子伦情品无吗 | 日韩一本在线 | 免费人成视频19674不收费 | 欧洲精品一区二区不卡观看 | 国产成人精品午夜福麻豆报告 | 青青精品国产自在线拍 | 欧美精品一区二区在线电影 | 99久热精品免费观看 | 精品欧美18videosex欧美 | 国产亚洲福利精品一区 | 激情办公室 | 全彩黄漫火影忍者纲手无遮挡 | 阿娇和冠希13分钟在线观看 | 亚洲中文字幕无码一久久区 | 亚洲国产成人99精品激情在线 | 色狠狠色狠狠综合天天 | 8090碰成年女人免费碰碰尤物 | www精品一区二区三区四区 | 俄罗斯xxxxxbbbbb | 亚洲综合AV色婷婷五月蜜臀 | 蜜桃成熟时33D在线嘟嘟网 | 伦理片秋霞免费影院 | 99久久免费看少妇高潮A片 | 99久久久无码国产精品AAA | 国产啪视频在线播放观看 | 国产又爽又黄又不遮挡视频 | 国产偷国产偷亚洲高清app |