莫名其妙的 JavaScript 字符串换行
文章作者:网友投稿 发布时间:2012-01-31 16:33:19 来源:网络
今儿个看蓝色理想的帖子,说到一个字符串换行的问题。通常如果在代码中存储 HTML 代码片段,会使用加号连接字符串的做法。 当然这样做会稍微麻烦点,于是有了以下这个生僻的方法: va
今儿个看蓝色理想的帖子,说到一个字符串换行的问题。通常如果在代码中存储 HTML 代码片段,会使用加号连接字符串的做法。
当然这样做会稍微麻烦点,于是有了以下这个生僻的方法:
var foo = 'xxx\
xxx';
alert(foo)结果弹的是:
xxxxxx再来加几个空格缩进看看:
var foo = 'xxx\
xxx';
alert(foo)结果弹的是:
xxx xxx
那如果不折行呢?
var foo = 'xxx\xxx';
alert(foo)结果报语法错误了:
SyntaxError: malformed hexadecimal character escape sequence事实上这个杠属 JavaScript 转义字符,使用 \ + 回车 相当于将字符串中的回车符转义,所以弹出的还是连缀的字符串。
考虑到 JS 代码部署时通常采用压缩,使用 \ 太危险,慎用。
字符串换行建议和常用的几种方法:
1、加号连接;
2、数据逐行 push,最终 join;
3、使用 script 标签存储 HTML 片段
来源:芒果小站