就在摆弄数组的时候,我发现了这个。
为什么以下三种说法之间存在显著差异:
[1,2]+[3,4];
[1,2].toString()+[3,4].toString();
[1,2].join(',')+[3,4].join(',');

如果[1,2]+[1,2]执行与转换为字符串然后连接两个字符串相同的操作,那么它们的性能应该不会有什么相似之处
这个问题的灵感来自于这个answer
发布于 2017-07-13 22:23:12
这可能与隐含和显性的强制有关。
对于[1,2]+[3,4],解释器必须自己确定string是所需的输出。
对于[1,2].toString()+[3,4].toString();和[1,2].join(',')+[3,4].join(',');,您已经告诉解释器它正在处理字符串。
最后两行之间的差异几乎可以忽略不计。
最后,即使你这样做了一百万次,你也不会真正注意到有什么不同。
https://stackoverflow.com/questions/45083423
复制相似问题