首页 > 技术文章 > 字符串的扩展

yfife 2017-07-20 15:26 原文

字符串的扩展

  • 字符的Unicode表示法
  1. JS中允许用\uxxxx表示一个字符,范围在\u0000~\uffff之间,超过\uffff的字符,可以用两个双字节形式表示
  2. ES6可以将超过\uffff的码点放在{}中。
  • codePointAt()
    用于返回字符的Unicode码点,包括码点超过\uffff的字符

  • String.fromCodePoint()
    用于从码点返回字符,并且能识别大于\uffff的码点

  • 字符串的遍历接口
    ES6为字符串添加了遍历接口,使得字符串可以通过for...of循环遍历

      for (let codePoint of 'foo') {
        console.log(codePoint)
      }
      // "f"
      // "o"
      // "o"
    
  • includes() startsWith() endsWith()

      var s = 'Hello world!';
      //第二参数表示位置
      s.startsWith('world', 6) // true
      s.endsWith('Hello', 5) // true
      s.includes('Hello', 6) // false
    
  • repeat()
    用于将原字符串重复n次,并返回

  • padStart() padEnd()
    用于将字符串补全长度

      'x'.padStart(5, 'ab') // 'ababx'
      'x'.padStart(4, 'ab') // 'abax'
    
      'x'.padEnd(5, 'ab') // 'xabab'
      'x'.padEnd(4, 'ab') // 'xaba'
    
  • 模板字符串

      $('#result').append(`
        There are <b>${basket.count}</b> items
         in your basket, <em>${basket.onSale}</em>
        are on sale!
      `);
    
  1. 模板字符串用```反引号表示

  2. 引入的变量需将变量名放入${}
    另一模板例子

     var template = `
     <ul>
       <% for(var i=0; i < data.supplies.length; i++) { %>
         <li><%= data.supplies[i] %></li>
       <% } %>
     </ul>
     `;
    
  3. JavaScript代码放入<%...%>

  4. 使用<%=...%>输出JavaScript表达式

推荐阅读