JavaScript Heredoc? Escape Newline:JSLint Bad Escapement?

时间:2011-01-13 20:01:40

标签: javascript escaping newline jslint heredoc

var wrapped_string = "shouldn't this\
work?"

JSLint给出了一个糟糕的擒纵错误。

我们如何在JavaScript中使用heredoc呢?我有一个很长的HTML字符串。

3 个答案:

答案 0 :(得分:7)

我认为为什么将此视为错误的原因是因为此语法扩展最近在ECMAScript 5th Edition Specification上标准化。

虽然受到广泛支持,但在ECMAScript 3实现(这是最广泛的实现可用)上,您无法保证它可以正常工作,或只是导致早期SyntaxError例外。

有些人争论要避免它的另一个原因是,如果你有任何其他不是LineTerminator的角色你将拥有SyntaxError,即使是在ECMAScript 5实现上也是如此。

例如,如果反斜杠后面有空格,代码就会产生错误,只是通过阅读代码就不容易发现:

// works:
var str = "foo\
bar";

// an space after it, SyntaxError:
var str = "foo\ 
bar";

答案 1 :(得分:1)

JSLint会伤害你的感情,没有别的,试着在jQuery上运行它来看看。

当你有大量琴弦时,擒纵机构很好,我认为它比使用大量+更干净。

答案 2 :(得分:0)

您可以通过eslint.yaml启用ECMA5语法。这将全部逃避换行。

es5:true#如果允许ECMAScript 5语法,则为true