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

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 字符串連接性能優化,轉載需保留來源!

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

主站蜘蛛池模板: J午夜精品久久久久久毛片 jzz大全18 | 美女被强奷到抽搐的动态图 | 高清不卡伦理电影在线观看 | 护士被老头边摸边吃奶的视频 | 吃奶摸下的激烈免费视频 | 精品性影院一区二区三区内射 | 亚洲精品国偷拍电影自产在线 | 免费观看99热只有精品 | 国产99RE在线观看69热 | 国产福利视频在线观看福利 | 日韩人妻少妇一区二区三区 | 超碰公开在线caopon | 午夜福利不卡片在线播放免费 | 一级黄色香蕉视频 | 久久综合久综合久久鬼色 | 人人舔人人爱 | 年轻的老师5理伦片 | 小p孩玩成年女性啪啪资源 小777论坛 | 一本道无码v亚洲 | 国产在线一区二区三区四区 | 暖暖 免费 高清 日本视频大全 | 无码区国产区在线播放 | 无码一区国产欧美在线资源 | 好男人好资源在线播放 | 起碰免费公开97在线视频 | 亚欧成人毛片一区二区三区四区 | 女人会操出水图 | 美女也烦恼主题曲 | 久草热8精品视频在线观看 久草青青在线 | 亚洲mv在线观看 | 俄罗斯兽交XXXXX在线 | 18岁末年禁止观看免费1000个 | 暖暖 免费 日本 高清 在线1 | 亚洲人成伊人成综合网久久久 | 忘忧草研究所 麻豆 | 扒开校花粉嫩小泬喷潮漫画 | 狠狠色综合久久婷婷 | 亚洲欧美日韩精品自拍 | 国产精品日本无码久久一老A | 97精品国产亚洲AV高清 | 一边摸一边桶一边脱免费 |