【发布时间】:2018-11-06 18:12:45
【问题描述】:
假设您有一个 for 循环,并且您想使用 template literals 以非常特定的方式构建一个字符串
我找到了两种类似的方法。
let text = ''
words = ['Hello', 'world']
for (i = 0; i < n; i++) {
text += `${words[i]} || `
}
或者
let text = ''
words = ['Hello', 'world']
for (i = 0; i < n; i++) {
text = `${text}${words[i]} || `
}
两者产生相同的输出(Hello || world ||)
性能或标准有什么不同吗?
【问题讨论】:
-
您可以在jsperf.com比较性能
-
将此
['Hello', 'world'].concat('').join(" || ")添加为衡量绩效的任务。 -
另一个性能比较器:jsben.ch/FskS4
-
“哪个更有效”的问题通常不会很好地解决问题。加入数组而不是重复的字符串连接曾经是正确的答案,但随后浏览器供应商优化了后者,使其更有效。答案会因 JS 引擎而异。
-
非常感谢您的 cmets 和帮助!
标签: javascript arrays string loops