javascript - 对于字符串, [x,y,z].join ('' ) 真的比 x + y + z 快吗?

标签 javascript performance concatenation

对于字符串,[x,y,z].join('') 真的比 x + y + z 更快吗?

在 join() 更快的印象下,我开始通过我的代码使用它而不是 +,然后我在 Google Analytics 代码中遇到了以下行:

    ga.src = ('https:' === document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';

假设 Google 的编码人员是最有知识的,这让我感到奇怪。当然,该行每次加载页面只会运行一次,可以说任何速度差异都可以忽略不计。但还是?

最佳答案

用于连接字符串的数组 .join() 方法 (-trick) 起源于当时网站像很多一样在 Internet Explorer 上运行。对于 IE6 + 7,它非常真实,比 .join() 比使用 + 运算符快,因为字符串操作的行为非常糟糕在 IE 中。

对于其他浏览器,性能差异并不大,所以使用 .join() 是个好建议(再次强调,那时候)。如今,大多数引擎都会大量优化字符串操作,除非您认为您的任何代码经常在 IE6+7 中运行,否则您应该只使用 +

关于javascript - 对于字符串, [x,y,z].join ('' ) 真的比 x + y + z 快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8626991/

相关文章:

javascript - 如何仅获取两个给定日期之间该月最后一天出现在星期一的日期

javascript - this.props.getItemCount 不是函数(VirtualizedList、React Native)

javascript - Jquery slider 无法正常工作?

javascript - 检查类或添加类,哪个性能更好

arrays - UILabel int 数组串联

windows - Windows 7 中的 FFMPEG : merge mp4 files from different folders in a batch

tensorflow - 如何使用 TFlearn 中的 ImageAugmentation 在 CNN 中训练图像和数据的混合

javascript - 如何从 Firefox 扩展中捕获页面标题的变化

sql-server - SQLServer 中子字符串与右左组合的相对性能

java - 默认的Hibernate(5.2.5) session 级缓存查杀性能是多少?