当使用JavaScript进行编程时,常常会因无法通过在代码中的多行中输入多行字符串而感到困惑。 虽然使用PHP或Ruby等其他语言的任务不是问题,但使用JavaScript最初只能解决变通方法,其使用方法取决于个人喜好或浏览器支持。
明显的尝试
var str = "Dies ist eine
mehrzeilige
Zeichenkette.";
它失败了,然后解析器会报错(以“意外的标记 ILLEGAL”的形式),因为 JavaScript(与其他编程语言如 PHP 不同)会自动在每行末尾插入一个分号。:
var str = "Dies ist eine;
mehrzeilige;
Zeichenkette.";
该问题的第一个解决方案包括通过\ n和+运算符的简单字符串连接:
var str = "Dies ist eine\n" +
"mehrzeilige\n" +
"Zeichenkette.";
为了更快更简洁地完成操作,可以在每行末尾添加反斜杠。:
var str = "Dies ist eine\n\
mehrzeilige\n\
Zeichenkette";
或者,您也可以使用join方法并获取它:
var str = ["Dies ist eine",
"mehrzeilige",
"Zeichenkette"].join("\n");
另一方面,如果您的眼睛用正则表达式照亮,请使用以下语法(match()过滤注释之间的值):
var str = (function () {/*Dies ist eine
mehrzeilige
Zeichenkette*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];
重要说明:如果代码较小,则可以忽略此解决方案(因为注释也已删除)。
var str = `Dies ist eine
mehrzeilige
Zeichenkette`;