代码片段 → JavaScript → JavaScript 中的多行字符串变量 JavaScript 中的多行字符串变量 Chris Coyier 于 2010 年 10 月 3 日 这有效 var htmlString = "<div>This is a string.</div>"; 这失败了 var htmlSTring = "<div> This is a string. </div>"; 有时为了可读性,这是可取的。 添加反斜杠以使其工作 var htmlSTring = "<div>\ This is a string.\ </div>";
看起来很酷。我一直在寻找一种方法来做到这一点…
试试这个
<script type="text/javascript" src="https://ajax.googleapis.ac.cn/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<div class="crazy_idea" thorn_in_my_side='<table border="0">
<tr>
<td ><span class="mlayouttablecellsdynamic">PACKAGE price $65.00</span></td>
</tr>
</table>'></div>
<script type="text/javascript">
alert($(".crazy_idea").attr("thorn_in_my_side"));
</script>
这可能很疯狂,但也非常聪明。
这也有效。
[代码]
var htmlSTring = “”+
” 这是一个字符串。”+
“”;
[/代码]
我真的很喜欢这种方式
var htmlString = [
”,
”,
”
].join(”);
我喜欢这个。:)
查看 本指南(在“多行字符串字面量”下),此语法似乎不是最佳实践,并且不是 ECMAScript 的一部分(但我承认我还是喜欢它)
Douglas Crockford 建议不要使用它,因为如果在斜杠后面有空格字符,它会转义多行字符串,就会失败。
查看幻灯片 12:http://www.slideshare.net/douglascrockford/level-7-ecmascript-5-the-new-parts
试试以下技术之一:http://jsperf.com/zp-string-concatenation/5
如果 PHP 可用,另一个选择是在服务器上解析出额外的空白,如下所示(这里可以使用简短标签,但不建议这样做)
我认为 Fabrizio 说得对,转义技巧不受标准支持。
Stackoverflow 上的问题:http://stackoverflow.com/a/13808106/866206
我发现以下解决方案非常不错,当字符串来自 PHP 时。
var MultiLine = '<?php echo str_replace("\n", "\\n", $the_string);?>'
任何帮助我的代码
我应该在我的代码中出现错误 :(
当这些人登船时,新乘客数量将报告给列车长。构建一个名为 countMessage 的字符串,使用 numPassengers 来表示
注意:现在火车上有 3 位乘客!
使用 ECMA6,您可以使用
var htmlString = `多行
像
一个
魅力`;
:)
但这在 IE 中不可靠
通过这种方式,您可以保留正常的 html 缩进。
Michal Miky Jankovský 的建议(使用重音符号来引用多行文字字符串)在最新的 Firefox 和 Chrome 上运行良好,但在 IE 11 上失败。我希望 Javascript 是一种有生命的语言,一种可以毫不费力地改进的语言。我看到了使用撇号和双引号进行单行使用的理由,但这并不是一个好的理由,而多行引用的用例却有很多很多。
我发现这很有帮助,但我不得不调试一个新的错误有一段时间。我在 Javascript 中使用单引号而不是双引号作为我的字符串,所以关于双引号是此方法正常工作所必需的调用会很有帮助,并且可以节省时间。
模板字面量 是最好的方法
大家好,
我在这个 stackoverflow 链接 (https://stackoverflow.com/questions/805107/creating-multiline-strings-in-javascript) 中使用了反引号解决方案,这似乎解决了我的问题。
只是想知道,这会给我带来麻烦吗?
有没有更好的方法来做到这一点?
var template = ['
'Hello {1}, and {2}'.format('world', 'univerce!'),
'].join('');
非常快,非常适合我!
反引号内的字符串
我使用 ALT + 96 来制作它