zoukankan      html  css  js  c++  java
  • ES6标准入门

    字符串的遍历接口

    • ES6为字符串添加了遍历器接口 使得字符串可以由for...of循环遍历
    • 可以识别大于0xFFFF的码点 传统的for循环无法识别这样的码点

    charAt() & at()

    • charAt()方法返回字符串给定位置的字符 但是该方法不能识别码点大于0xFFFF的字符
    • at()方法可以识别Unicode编码大于0xFFFF的字符 该方法可以通过垫片库实现

    确定一个字符串是否包含在另一个字符串

    • indexOf() 传统上js中只有这个方法可以来确定一个字符串是否包含在另一个字符串中
    • 但是ES6又提供了3种新方法:
      • include() 返回布尔值 表示是否找到了参数字符串
      • startsWith() 返回布尔值 表示参数字符串是否在源字符串的头部
      • endsWith() 返回布尔值 表示参数字符串是否在源字符串的尾部
      • 以上三个方法都接收第二个参数 来表示开始搜索的位置 但是endsWith()方法略有不同 表示该位置之前的字符

    模板字符串

    • ``
    • 所有模板字符串的空格和换行都是被保留的 如果不想留用 可以使用trim()方法消除
    • 模板字符串可以嵌套
    • 变量使用方式:
      • ${ 变量 }
      • 变量可以是任意的js表达式 可以进行运算 以及引用对象属性 并且可以调用函数
      • x / x+2 / obj.x + obj.y / fn()
      • 如果大括号中的值不是字符串 则默认转换为字符串 如果是对象 则调用toString()方法
      • 如果变量没有进行声明 则会报错
      • 由于模板字符串中的大括号内部就是要执行的js代码 因此如果大括号内部是一个字符串 则会原样输出

    模板编译

    • <% ...放置js代码 %>
    • <%= ...输出js代码 %>

    标签模板

    • alert123 等同于 alert(123)
    • 紧跟在一个函数名后面 该函数将被调用来处理这个模板字符串
    • 标签模板其实不是模板 而是调用函数的一种特殊形式 标签指的就是函数 紧跟在后面的模板字符串就是参数
    • 如果模板字符中有变量 会将模板字符串先处理成多个参数 再调用函数
      • 参数分别是:
      • 第一个参数:没有变量替换的数组
      • 第二个参数:有变量替换的参数
      • 第三个参数:有变量替换的参数
      • ...以此类推
    • 标签模板的一个重要应用就是过滤HTML字符串防止用户输入恶意内容

    笔记内容整理来自阮一峰老师的《ES6标准入门》

  • 相关阅读:
    另一种遍历Map的方式: Map.Entry 和 Map.entrySet()
    mycat 插入语句导致的一个Dobbo问题
    Json数据处理
    List与字符串转换
    MySQL中四舍五入的实现
    java连接mysql :No Suitable Driver Found For Jdbc 解决方法
    Linux中printf格式化输出
    bat隐藏文件夹
    Python 3.5.2建立与DB2的连接
    Python 爬虫实例
  • 原文地址:https://www.cnblogs.com/liyf-98/p/14416089.html
Copyright © 2011-2022 走看看