JS拼接字符串的方式,
1、最常见的是+=;
2、还可以先将字符串转化为数组,然后调用Join实现字符串拼接
arr.push(str);
return arr.join(“”);
效率分为运行速度和内存消耗问题,网上查了相关资料,结论就是join在字符串字节很大时(百万级以上),用join会明显快于用+=实现的字符串拼接(),用+=耗时大概时10秒,用join大概是几百毫秒,当字节数很少时,两种方法耗时差距可以忽略,而且用join还需要开数组变量,耗内存,所以这时候推荐用+=;
———-运行速度————-
博主试着跑了下,十万级别的字节数,+=耗时几乎为0,join耗时为7毫秒左右;百万级别的字节数,+=耗时在75毫秒上下波动,join耗时在68毫秒上下波动,两者差距可以忽略;千万级别的字节,两者耗时差距在200毫秒内波动,+=耗时在1000毫秒左右,join耗时在800毫秒左右波动;亿级的字节数,超过字符最大上限,报错了。
故当字节数低于百万级别的时候,推荐用+=实现字符串拼接,当字节数为千万级别的时候,如果对运行速度有要求,可以采取join实现拼接。如果对运行速度要求较高,百万级别及以上的字符串拼接推荐用join实现。
至于别的博文里面为什么百万级的字节数跑出来的效果,+=耗时10秒以上,可能是当时(5年前)的CPU性能较差造成的,现在CPU的性能已经足够完成百万级字节数的拼接,所以博主跑出来的只有1秒,快了10倍。
————字符串内存————
既然不同的拼接方式耗时不同,那么这中间的过程肯定是不一样的。
chrome在用+进行拼接时,生成的字符串包含(),例如a+b,生成的是(a,b),再加c,生成的是((a,b),c),改用join生成的字符串则是ab,可以节省大量内存(10倍以上的差距)
今天的文章js拼接字符串的效率是多少_ryjs和ryjsp区别「建议收藏」分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/74875.html