四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

JavaScript 字符串連接性能優化

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

后臺所做工作:
1)創建存儲 "hello" 的字符串,且使 str 指向它。
2)創建存儲 "world" 的字符串。
3)創建存儲結果的字符串。
4)將 str 中的當前內容復制到結果字符串中。
5)把 world 復制到結果字符串中。
6)更新 str ,使 str 指向結果字符串。
每拼接一次字符串就循環重復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 可以節省50%以上的時間。

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

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

主站蜘蛛池模板: 魅力学院电影| 飞天少女猪| 詹姆斯怀特| 试衣间电影| 四川地图旅游地图| 尹馨演过的三部电影| 上官于飞| 帕巴拉呼图克图| 李婷芷| 抖音国际版| 老江湖| 15j401图集电子版免费查看| 《爱的温暖》电影在线观看| 天国遥遥| 周韦彤写真| 飞虎神鹰1-42集免费| 《鱼我所欲也》原文及译文| 林智妍三部曲电影免费观看| 马子俊| 秦皇岛电视台| 马会传真论坛13297соm查询官网| 成人在线免费观看电影| 电影继母劳拉| 徐若晗个人资料| 张钰凰| 十大黄色软件推荐免费| 兔子先生第四季在线观看| 礼佛大忏悔文注音版全文| 冬日舞蹈教程完整版| 威利| 大师兄 电影| xxxxxxxxxxxxx| 韩奕| 发狂的现代史在线观看| 黄视频在线播放| 二次元美女放屁| 发狂的现代史在线观看| 天堂av| 哥哥的女人电影| 80年代欧美动画片| 猫小帅的故事|