zoukankan      html  css  js  c++  java
  • ES6-字符串的扩展

    1.includes(), startsWith(), endsWith()

    在ES5中我们判断一个字符串是否包含在另一个字符串的方法是indexOf,如果值为-1则不包含,否则返回该字符串对应的索引。

    var str_1 = 'hello es6'
    console.log(str_1.indexOf('h')) //0
    
    var str_1 = 'hello es6'
    console.log(str_1.indexOf('5')) //-1
    

      

    在ES6中又新增了3个方法includes(), startsWith(), endsWith(),这三个方法均返回布尔值,同时都支持第二个参数,代表开始搜索的位置,我们依次看下其作用:

    (1) includes() 它是判断字符串中是否包含某个字符串,包含为true,否则false,第二个参数(index)表示的是从第index个位置直到字符串结束。

    str_1.includes('ell')
    // true
    str_1.includes('ell',1)
    // true
    str_1.includes('ell',2)
    // false
    

      

    (2) startsWith()用来判断参数字符串是否在源字符串的头部,第二个参数(index)表示的是从第index个位置直到字符串结束。

    str_1.startsWith('h',0)
    // true
    str_1.startsWith('e',0)
    // false
    str_1.startsWith('e',1)
    // true
    

      

    (3)endsWith()用来判断参数字符串是否在源字符串的尾部。但是它接收的第二个参数(index)与前两个方法不同,他是针对源字符串的前index个字符。

    str_1.endsWith('es6',str_1.length-1)
    // false
    str_1.endsWith('es6',str_1.length)
    // true
    str_1.endsWith('he',2)
    // true
    

      

    2.repeat(n)方法返回一个新字符串,表示将原字符串重复n次,同时该参数可为浮点数,选择向下取整Math.floor();如果参数是

    负数,在(0~-1)之间则视为0,否则报错;如果repeat的参数是字符串,则会先转换成数字;

    str_1.repeat(2)
    // "hello es6hello es6"
    str_1.repeat(2.9)
    // "hello es6hello es6"
    str_1.repeat(-0.1)
    // ""
    str_1.repeat('a')
    // ""
    str_1.repeat('1')
    // "hello es6"

     

    3.模板字符串

    在项目开发中,列表渲染十分普遍,同时一般情况下我们都是先写好静态页面,等请求到数据,遍历数据渲染时把写好的html代码粘贴到js中,然后去补充字符 ’,进行''+变量+’‘去填充,这种ES5的方式去输出模板,让人觉得恶心。

    var listhtml = ''
    res.data.list.forEach(function(el,ind){
       listhtml += '<li>'+
                      '<img src="'+el.src+'">'+
                      ' <span>''+el.text+</span>'+
                   '</li>'   
    })

    ES6则为我们带来了另一种便捷的开发模式,来我们看下字符串模板,模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量,注意需要将变量名写在${}之中。${}的大括号内部,就是执行JavaScript代码,支持表达式还能调用函数等。

    var list = ``
    res.data.lsit.forEach(function(el,index){
       list += `
          <li>
             <img src="${el.src}" />
             <span>${el.text}</span>
          </li>
      ` 
    })    
    当你微笑的时候,全世界都会对你微笑。
  • 相关阅读:
    fms中使用的页签(使用的模板)
    layui—layer,一个可以让你想到即可做到的javascript弹窗(层)解决方案(转)
    mybatis--oracle 利用接口 实现简单的增删改查以及一对一的两表关联查询
    mybatis--oracle 利用配置 实现简单的增删改查
    Java DecimalFormat的主要功能及使用方法
    SpringMVC的@ResponseBody返回字符串乱码问题解决
    org.apache.commons.lang.exception.NestableRuntimeException等缺少jar包的解决办法
    Mybatis框架搭建和简单的增删改查
    Struts2上传
    Struts2转换器
  • 原文地址:https://www.cnblogs.com/liruoruo/p/10219922.html
Copyright © 2011-2022 走看看