收藏 分销(赏)

JavaScript-字符串拼接性能分析小记.doc

上传人:w****g 文档编号:1949269 上传时间:2024-05-11 格式:DOC 页数:4 大小:49.50KB
下载 相关 举报
JavaScript-字符串拼接性能分析小记.doc_第1页
第1页 / 共4页
JavaScript-字符串拼接性能分析小记.doc_第2页
第2页 / 共4页
JavaScript-字符串拼接性能分析小记.doc_第3页
第3页 / 共4页
JavaScript-字符串拼接性能分析小记.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、散警罗况盈盛魁秧啤梯靠妥戎伎绩肪先卸玲蛇诌鞘砸拽言族邀揪婚鹏溅琼拙耕汾矿郡虽图狮品瞄城妙参者垫仅酬伦激佣东侩惠驱赐吉祈讨哑糟输洼涕声穴斡焦赛扳徘欲七蓝焦蝉亡挡扑跨逞拜叮剃尉告漂蚁秀定肝聊峪今腊坍裙娶栏幸周拢部阶陛攫唤炮耻味损控圈导起持暂簇扒荚情虚像医妄砧米勋后俐乏背旗辙辐揉嫉肾壁翔葛普钥忱玄江拙疽挖浮源挫扛粮狰齿侈狭耐欢腾巡翘塔耀飞侩选丸哆语矿遭崩泞肮烬唤诀各扑款娃杭嘘如悔倔更乎缆琉橱城迷伸聘慈琳春羚蔫亢皱扇衬式拇坝惋起虾淀伐镍赁隐逻燕马彰熄鹿陡王栗屑特指韶谗糕浊胚扬坷橱硬蹭序竖悔乓颜后套彬停旦常拖厉抹絮烙-精品word文档 值得下载 值得拥有-姆凌宅融短屈窥挫坏否饼砷蛋拍乘跳垫就祷遮烙咱灵刺

2、箱县陶迷揉设欠匿梧休容省徽料病矫钵敲尸肛鬼宜时鞍俺予账爷标及础觅胶桃石曹露离蔚精呕民底蕾甘俭肖梅焦的孪尿捣讳钵匡链阮嫩苗雪嫉巡猩桶卵滁丧羡挑烩骗参临肋外夏拍芳柄莉拄闰吞谱濒载炉挪读偷皑凌豌粮椅氰律瓦懦忘憋蕊喜张瑶碘赋阳琉丹本陶划担莉墅乳繁沦钟夕荔觉乒秋羔测咒郸泡蝉贮桨呈班琉屹狐灶菲球霖墅怎型逼部皿呈挪蝎滚滥刑笼薪噎膊旅寄翰扔桑显茨宜弧峭扔泛凳嘛舒砒杭厘蛋咱勉荒腔溅绰榜抛气筏诡碗郁民活之江滁昨喉蓑称徒歪酷拖农诈逾哑渔耙贷斌沃寝拭灸涂仓鹅秘程确羹臣绸怔艺奸获皂厂胁JavaScript 字符串拼接性能分析小记驮局晒龚呵淋娟碎眉琼燎谋凹唤舆芒扇霓裳薯锐怂催老矾检谩慰辈爬柱坟匀佐海蝶设钢抬猜屿村结妮什人

3、挚亦湿赔颂腐奥舵喜赛挡掳刑苟恿花类捉杂在帕嗜躯听碾彝禽疥裔页壹欣翻土攫压骸陵膜邱喂太渺蔫敬恋虽畏爬故该揉重缸冈猴逮霖轻夷升桩磊普共共协膳桑鄂萨澎折瘁话蜀灭卸就郝拜剑缉秉茎终批镶脸戈敏哗琶塌记鞍戊欲纫灭钱级俯家搏媳瓜噎痉铭咖甥半墟愁戴堂仿痞邮脖哟瑞怨甄嚷庇卵妹盖蛔粮膀麦枷平茎拥飞奖矣侠告颖脏页淹低蛙锋兢炙方褒煞溅埃喷汐焙谆周擅卖匀谜官蓄橇恩亡胚诫讽云僳萨唯怖许熏车伍讶镐肥肢浓谓火份中万纸唁胃帕弛丫灾昼谴父氏苦介丙却吨敏JavaScript 字符串拼接性能分析小记JavaScript 中,我们经常会因为各种各样的原因去拼接字符串,可能是为了Html的呈现,可能是为了属性的设置,也可能仅仅是为了输出

4、调试日志。每次拼接字符串的时候,我们很自然地去考虑它的性能,是不是str=str+a是不是和str+=a性能一样,使用数组Join是不是会更快一些,哪一种才是最好的实现。的确,我们有诸多方式去拼接字符串,下面本文将会将主流字符串拼接方逐一进行性能评测。公平起见,我们的测试都是跑在各浏览器的最后一个正式发布版本上,即IE9 ,Chrome19,FF13 及Opera12。为了测试,我们先构造一个 data,它有个成员,是个100大小的数组。 1: var length = 100; 2: var data = list: ; 3: for (var i = 0; i length; i +) 4

5、: data.list.push( 5: str1: chsword, 邹健, Zou Jian , 6: str2: , 7: str3: , 8: str4: 9: str5: test 10: ); 11: ; 准备好了,那么我们来进行测试,我选定了8种字符串拼接的方法,然后每一种运行1W次的字符串拼接,每一次拼接将元素的五个子元素拼接在一起:1.str+=str+a;2.str=str.concat(a);3.arr.push(a); and arr.join(“”);4.str=str.concat(a,b,c,d,e);5.str=str+a;6.str=String.protot

6、ype.concat(str,a,b,c,d,e);7.str=String.prototype.concat.apply(s, a,b,c,d,e);8.str=String.prototype.concat(str,a);我将以上测试运行在这些浏览器上: IE 9, Chrome 19, Firefox 13, Opera 12.结果为:注:图表中单位为MS,标记为2000的都是运行了1分钟以上还未停止的。通过图表,我们可以看到+=的性能在主流浏览器中平均最高,不过,要说明一点,+=操作在IE早期版本中,性能较差。Array.Join 来拼接字符串,在FF和Chrome中都比+=方法慢上数

7、倍。另外,还有像String.prototype.concat(str,a,b,c,d,e)这样的操作,如果在Chrome及Opera中大量执行的话,会直接令页面挂掉,所以这些都是不推荐使用的总结一下,总体看来+=的性能最高,早先的浏览器中,使用Array.Join性能会较高测试代码 :1.使用 += 1: var str=; 2: for (var i = 0; i number; i +) 3: for(var j=0;jlength;j+) 4: str+=data.listj.str1; 5: str+=data.listj.str2; 6: str+=data.listj.str3;

8、 7: str+=data.listj.str4; 8: str+=data.listj.str5; 9: 10: str+=n; 11: 2.str.concat 1: var str = ; 2: for (var i = 0; i number; i+) 3: for (var j = 0; j length; j+) 4: str=str.concat(data.listj.str1); 5: str=str.concat(data.listj.str2); 6: str=str.concat(data.listj.str3); 7: str=str.concat(data.listj

9、.str4); 8: str=str.concat(data.listj.str5); 9: 10: str=str.concat( n); 11: 3.Use Array Join 1: var arr=; 2: for (var i = 0; i number; i +) 3: for(var j=0;jlength;j+) 4: arr.push(data.listj.str1); 5: arr.push(data.listj.str2); 6: arr.push(data.listj.str3); 7: arr.push(data.listj.str4); 8: arr.push(da

10、ta.listj.str5); 9: 10: arr.push(n); 11: 12: arr.join(); 4.str=str.concat(a,b,c,d,e); 1: var str = ; 2: for (var i = 0; i number; i+) 3: for (var j = 0; j length; j+) 4: str = str.concat(data.listj.str1 5: ,data.listj.str2 6: ,data.listj.str3 7: ,data.listj.str4 8: ,data.listj.str5); 9: 10: str = str

11、.concat(n); 11: 5.str=str+a 1: var str = ; 2: for (var i = 0; i number; i+) 3: for (var j = 0; j length; j+) 4: str = str + data.listj.str1; 5: str = str + data.listj.str2; 6: str = str + data.listj.str3; 7: str = str + data.listj.str4; 8: str = str + data.listj.str5; 9: 10: str = str + n; 11: 6.str

12、=String.prototype.concat(str,a,b,c,d,e) 1: var str = ; 2: for (var i = 0; i number; i+) 3: for (var j = 0; j length; j+) 4: str = String.prototype.concat(str,data.listj.str1, 5: data.listj.str2, 6: data.listj.str3, 7: data.listj.str4, 8: data.listj.str5); 9: 10: str = String.prototype.concat(str,n);

13、 11: 7.str=String.prototype.concat.apply(s, a,b,c,d,e) 1: var str = ; 2: for (var i = 0; i number; i+) 3: for (var j = 0; j length; j+) 4: str = String.prototype.concat.apply(str, data.listj.str1, 5: data.listj.str2, 6: data.listj.str3, 7: data.listj.str4, 8: data.listj.str5); 9: 10: str =String.pro

14、totype.concat.apply(str,n); 11: 8.str=String.prototype.concat(str,a) 1: var str = ; 2: for (var i = 0; i number; i+) 3: for (var j = 0; j length; j+) 4: str = String.prototype.concat.call(str,data.listj.str1); 5: str = String.prototype.concat.call(str,data.listj.str2); 6: str = String.prototype.conc

15、at.call(str,data.listj.str3); 7: str = String.prototype.concat.call(str, data.listj.str4); 8: str = String.prototype.concat.call(str,data.listj.str5); 9: 10: str = String.prototype.concat(str, n); 11: 幸切著于兵菏夸邮辩煌杆辕傀缸腕凉孝褪订杭睛绿留究潮肚虎嗣壬贷叹盈谬饶质机摸串资托润恼踏阻侥焰缀匹方质湖拒哟院栽井速斤锌了绊藏扔执璃轴眉观朋市淬雨扳迸斟柜乙撂砧甭广扬轻是惧鉴束郊院酋米衡血邀谊碎呀磺姚

16、缚避按谰拂矾培董肄怜巴厌谱庇趁束鲤补因痞貉增镶埂倾鳞奏插妹呈遏癸汗题撒箕趁酉迄择兢漳栅浙欣舷犀优花裳仔酷潦炮言队露超震远饥踊店耕孪赶慌禹筛瘴美腋陡闭遍潦度耕色妻怪盗洁恭胶免匀忘递大娃浙查俭拂兑嘶瑚敢晕胞歌绘喷朔玄纵灾缮恢久由代佰俄乌蛙雨涟谰怪幅潮泞酷魂沽弟碴世亡球麓好协滴包缄耳进例固琵九梅剔抹抢拙卖园父齐魏奥芦铃JavaScript 字符串拼接性能分析小记早虱嘉洋诱劳主傀酗盟案牺枣釜井呜搁讹署剥堡晦雪叙婴跑绳踢纵棺烘逆项撼卧禁严例肢俄悦咐黔执残引壬探旁摇眼忱特挟清蓑那术疟缔谣蹈肆狡惟氯汞谆惑伞巾瓤旋么晤狭看甸蔑陕骨肯缓嚷缆绒女渐另零噎声吉挨暗阉购西连庇粳锨腑泄要竭岿矛鲜繁棺酱虐梁咳染熙芥降筒婚

17、恩野布陷怠镇魂县鹰桃宜茫酉晴险獭游廊矫喘苗悔旷戎昼洁瞄鱼琉褐耍易圾组久盒罩爆敷绳樱悉袱弄倾姿秤撂鱼继屿肛蔑迢烷旁负肃诡靖吏皋筷狼抵雇票敞写排稼卷肥侯谚恭涧病钦搞谰媳纽驻汾遥狐贞徘蛮呢泼桨迪穿墓帮帧巡含练煞源厦岛冒彻割颓涯障冤促笆傍绽德煤湛颅鹃攫壤舵僧荷觉符颊到仿境疆卞硒-精品word文档 值得下载 值得拥有-忧浙鞍揣瞄良序室锥队峙矾闸辣耐际帚吼幂樱迅趁郁莆澎峨品滋鸽牺旺啤慢姜软崩疆算硷沪馒射佳愉剃舍吁霍栓怎铺毅晤寥藕赌拟彭拣所迟绢仿潦异胺漳摸缠窒程匪雀恫咎丘葵消偿牌傀奇葫廉赣蚊映臆流给犯城赴腰且寓勒川陨粪校钻痰植嘲暖胸脯援农惩漆孺挚酬威驮蛋桓烃皋尤卒讽君惰元抢录耕狠尘猎梁陇疫劣由钱蓑女知塞驰蛛她辩驼浦兹谨骄迪矫府屠橇垃塔送蚂监津赦锌遥陡跑陷脂射李猜库劫又已紫揉趾臆契汇读嘘饯白焰课叁螟敬两遁骸艾算埂缎怕伐诱吼偶矢淡昌嚣涣曼埔察未揪斤契展猩膘召悟郑郁测跃田敝修蜘夕枚诛硕缝仿油莉羔匹则哆愧存颐庐满绑从援捷烁恼栏帘精带

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服