此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
SyntaxError: string literal contains an unescaped line break
信息
SyntaxError: Invalid or unexpected token (V8-based)SyntaxError: '' string literal contains an unescaped line break (Firefox)SyntaxError: Unexpected EOF (Safari)
In this article
错误类型
SyntaxError哪里出错了?
某处 js 解析字符串出错。字符串必须使用单引号或双引号来正确的关闭。在 Javascript 中使用单引号的字符和双引号的字符串是没有区别的。字符串用转义字符不是单引号就是双引。为解决这个错误,检查一下:
- 你字符串的引号是否成对。
- 你是否正确使用了转义序列
- 你的字符串是否在多行中解析正常。
示例
>多行字符串
在 javascript 中你不能够直接使用多行字符串赋值给一个变量。如下:
js
var longString = "This is a very long string which needs to wrap across multiple lines because otherwise my code is unreadable.";// SyntaxError: unterminated string literal可以使用"+"运算符,反斜杠,或模板字符串来代替多行。“+”运算符的使用如下:
js
var longString = "This is a very long string which needs " + "to wrap across multiple lines because " + "otherwise my code is unreadable.";或者你可以使用“\”在每一行的末尾,以表示该字符串在下一行继续。要确保“\“之后没有没有空格和任何其他的字符,及缩进,否则该“\”将不会起作用。使用方法如下:
js
var longString = "This is a very long string which needs \to wrap across multiple lines because \otherwise my code is unreadable.";另一种方式是使用 ES 2015 的环境所支持模板字符串(反引号` `)。
js
var longString = `This is a very long string which needs to wrap across multiple lines because otherwise my code is unreadable.`;