我应该将长字符串缩短为较短的子字符串吗
Should I shorten long strings into shorter sub strings?
我在一个我现在记不清的地方听说,将较长的字符串缩短为较短的子字符串是一个明智的想法。我应该这样做吗?优点和缺点是什么?
样品:
var str = "some extremly long string for the sample I am making for this Stack Overflow question. Must add more words to make longer.";
alert(str);
或
var str1 = "some extremely long string";
var str2 = "for the sample I am making";
var str3 = "for this Stack Overflow question.";
var str4 = "Must add more words to make longer.";
alert(str1 +str2 +str3 +str4);
您的两个版本不等效,因为连接的版本缺少空格。
如果你确实想拆散字符串,加入它们通常被认为是一种很好的做法:
var str = [
"some extremely long string",
"for the sample I am making",
"for this Stack Overflow question.",
"Must add more words to make longer."
].join(" ");
我经常看到这种模式,它确实更可读IMO.
随着ES6的普及,更多的人可能开始使用模板字符串提供的多行功能:
var str = `some extremely long string
for the sample I am making
for this Stack Overflow question.
Must add more words to make longer.`;
我能想到的唯一原因是可读性。在源代码中有一行很长的代码是不太可读的。你的问题清楚地说明了这一点:在第一个例子中,必须依靠水平滚动来读取字符串;第二个例子没有这样的问题。
有关如何在JavaScript中拆分长字符串文字的讨论,请参阅另一个问题的答案。
我不知道有任何这样的优化。如果是可读性问题,可以使用反斜杠来编写多行字符串文字:
var string = "some extremely long string'
for the sample I am making'
for this Stack Overflow question.'
Must add more words to make longer.";
相关文章:
- 我应该如何从xml文件构建一个javascript页面
- 我应该使用Ng提交还是点击表格
- 在Redux中,我应该在哪里编写复杂的异步流
- 我应该如何检查主干.主干.模型更改时查看
- 我应该先学习Angularjs还是Laravel
- 是否有任何可能的原因使我应该指定类型=“”;按钮“;用于我的按钮元素
- 在ES6 Promise中,我应该在解决/拒绝之前使用return吗
- 我应该将MVC视图特定的javascript文件放在哪个文件夹中
- 我应该始终删除EventListener吗
- 我应该将长字符串缩短为较短的子字符串吗
- 我应该更改数组中的字符串
- 我应该如何在javascript中将复杂对象作为字符串保存
- 在mongodb存储标记中,我应该使用联合字符串还是数组
- 我应该使用哪种方法注入javascript?(字符串ByEvaluatingJavaScriptFromString)
- 我应该将字符串值存储在变量中还是作为隐藏的输入值
- 为了有效地搜索和比较字符串,我应该如何表示数据?
- 我应该如何正确编码包含HTML的字符串(在javascript中)
- 我应该使用字符串来分隔JSON中的对象名称吗
- 我应该如何在同一html的多个实例中编辑字符串
- 在ASP.. NET 4.5,我应该如何编码字符串用作JavaScript变量,以防止XSS攻击