4 字符串的扩展

字符的 Unicode 表示法

JavaScript 共有 6 种方法可以表示一个字符。

'\z' === 'z'  // true
'\172' === 'z' // true
'\x7A' === 'z' // true
'\u007A' === 'z' // true
'\u{7A}' === 'z' // true

字符串可以被for…of循环遍历

这个遍历器最大的优点是可以识别大于0xFFFF的码点,传统的for循环无法识别这样的码点。


换行分隔符和段分隔符

  • 字符串里面不能直接包含反斜杠,一定要转义写成\或者\u005c。
  • json可以直接输出\,但是这样服务器输出的 JSON 被JSON.parse解析,就有可能直接报错。
  • 模板字符串现在就允许直接输入这两个字符。

模板字符串

  • 用反引号`包住,中间可以用${}直接写变量名,而且可以换行,所有的空格和缩进都会被保留在输出之中
  • 如果在模板字符串中需要使用反引号,则前面要用反斜杠转义。
  • 可以使用trim方法消除反引号之后和之前的换行,比如
    • 标签前面和后面都有一个换行,可以通过trim消除
$('#list').html(`
<ul>
  <li>first</li>
  <li>second</li>
</ul>
`.trim());
  • 大括号内部可以放入任意的 JavaScript 表达式,可以进行运算,以及引用对象属性。
  • 模板字符串之中还能调用函数。
    -如果大括号中的值不是字符串,将按照一般的规则转为字符串
  • 模板字符串还能嵌套

标签模板

  • 标签模板其实不是模板,而是函数调用的一种特殊形式。“标签”指的就是函数,紧跟在后面的模板字符串就是它的参数。
let a = 5;
let b = 10;

tag`Hello ${ a + b } world ${ a * b }`;
// 等同于
tag(['Hello ', ' world ', ''], 15, 50);

非变量部分组成数组作为第一个参数,变量依次作为之后的参数

  • “标签模板”的一个重要应用,就是过滤 HTML 字符串,防止用户输入恶意内容。
  • 标签模板的另一个应用,就是多语言转换(国际化处理),把里面非变量的部分组成数组进行翻译,然后再和变量组合在一起返回

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值