4. 字符串的拓展

时间:2019-06-27 16:24:54   收藏:0   阅读:92

一. 字符串的遍历接口

二.模板字符串

  1. 在传统的JavaScript中,输出模板通常这样写(写法比较繁琐

    $("#someID").append(
     'There are <b>' + basket.count + '</b>' + 
        'item in your basket,' + 
        '<em>' + basket.onSale + 
        '</em> are on Sale!'
    )
  2. ES6引入了模板字符串来解决这个问题

    • 模板字符串是增强版的字符串,使用 ` 来标识

    • 它可以当做普通字符串来使用,也可以用来定义多行字符串,或者在字符串中嵌入变量

    • 如果使用模板字符串来标识多行字符串,空格缩进换行也会保留在输出中

    • 可以通过在字符串最后面添加 trim()方法消除字符串之前和之后的空格和换行

      let name = 'frisbee';
      let age = 18;
      console.log(`my name is ${name},
      my age is ${age}`)
      //返回如下
      my name is frisbee,
                 my age is 18
  3. 在模板字符串中嵌入变量

    • 模板字符串中嵌入变量,需要写在 ${}

    • 大括号内可以放入任意的JavaScript表达式, 可以进行运算,以及对象属性的引用,以及函数的调用

      let name = '小七';
      console.log(`my name is ${name}`);     // my name is 小七
      
      console.log(`3 + 5 = ${3 + 5}`)            // 3 + 5 = 8
      
      //函数的调用
      function fn(){
          return 'hello 小琪';
      }
      console.log(`you can speak ${fn()}`)   // you can speak hello 小琪
  4. 模板字符串写成函数的返回值

    • 执行这个函数,就相当于执行这个字符串了

      let func = (name) => `hello ${name}`;
      func("小七");        //hello 小七

三.标签模板

定义:模板字符串紧跟在一个函数名后面,该函数将被调用来处理这个字符串。这被称为标签模板功能

四. 字符串的新增方法

总结

  1. ES6为字符串增加了遍历的接口 for...of,可以遍历字符串中的每一个字符
  2. ES6新增了模板字符串,模板字符串以 ` 开头和结尾,模板字符串创建多行文本的字符串比较方便
    • 模板字符串中可通过 ${变量名} 的方式在字符串中插入变量
    • 模板字符串输出的时候,会原样输出字符串中的空格和换行
  3. ES6定义了标签模板,即方法名和模板字符串的组合
    • 标签模板可用于处理模板字符串
    • 标签函数会将模板字符串拆分为两部分,
      • 第一部分是字符串模板中所有字符串组成的字符串数组(遇到插入的变量即分割),作为标签函数的第一个参数。
      • 第二部分是所有插入变量组成的参数,作为标签函数的后续参数
  4. ES6为字符串新增了一些处理方法
    • 补全方法:padStart(),padEnd()
    • 子字符串判断方法:includes(),startsWith(),endsWith()
    • 正则表达式匹配方法:matchAll()
    • 重复字符串方法:repeat()
    • 去空格方法:trimStart(),trimEnd()
    • Unicode字符串的处理方法等

原文:https://www.cnblogs.com/mapengfei247/p/11097320.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!