芒果小站

  1. 全球最具业界良心的主机 - Linode

    毫无疑问,目前做得最好的主机供应商

    猛击这里查看

  2. 芒果小站目前使用的主机 - Linode

    客服响应快,随时退款,XEN 架构稳定

    猛击这里查看

  3. 最好的日本东京线路主机 - Linode

    可选弗里蒙特、达拉斯、亚特兰大、纽瓦克、伦敦、东京机房

    猛击这里查看

  • 1
  • 2
  • 3
切换到精简模式
7

莫名其妙的 JavaScript 字符串换行

作者 芒果/分类 代码/发布于 2012-01-22 15:31

今儿个看蓝色理想的帖子,说到一个字符串换行的问题。通常如果在代码中存储 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 片段

版权所有,转载请注明出处。
转载自 <a href="http://mangguo.org/inexplicable-javascript-string-line/" title="莫名其妙的 JavaScript 字符串换行" rel="bookmark">莫名其妙的 JavaScript 字符串换行 | 芒果小站</a>
如果喜欢这篇文章,欢迎订阅芒果小站以获得最新内容。

已经有 7 条群众意见

  1. 媛诺诺 /2012-01-24 13:20

    你好,我想要“主机”那个页面的代码啊,能不能发给我,或者我向你购买,真的很喜欢那个页面啊 回应

    #1
  2. 码农不眠夜媛诺诺/2012-01-27 16:23

    代码很简单的 只是需要CSS样式 你可以用浏览器查看代码 回应

    #2
  3. 码农不眠夜 /2012-01-30 03:05

    @媛诺诺 我是来测试圈人的 回应

    #3
  4. 码农不眠夜码农不眠夜/2012-01-30 03:06

    测试一下邮件系统 回应

    #4
  5. airoschou /2012-01-30 13:29

    这是JS基础 回应

    #5
  6. livebuy360 /2012-02-02 09:50

    “\” 这个符号可不是乱用的呢 回应

    #6
  7. 芒果媛诺诺/2012-02-04 20:46

    给我发封邮件,我附件给你。 回应

    #7

下面我简单说几句