美文网首页
第十一小节:ES6标签模板

第十一小节:ES6标签模板

作者: Janicerant | 来源:发表于2018-01-22 14:42 被阅读0次

        首先,什么是标签模板字符串呢?

就是在你的模板字符串里面写一个标签,比如说highlight,然后给它制定一些规则,让它返回你想要的字符串,那么这个标签呢对应的是js里的一个函数名。

 <style>
        .highlight{
            padding:2px 5px;
            background: #00abd5 ;
            color: #ffffff;
        }
    </style>
 <script>
 function highlight(strings,...values){     // 变量过多可以使用ES6里面的剩余参数方法 ...values
     
       const highlighted = values.map(value => `<span class="highlight">${value}</span>`);

       return strings.reduce((prev,curr,i) =>`${prev}${curr}${highlighted[i] || ''}`,'')
     //     let str ='';
     //     strings.forEach((string, i) => str +=`${string}${highlighted[i] || ``}`);
     //     这是为了去掉空字符串,将undefined结果隐藏起来
     //     return str;
   
       return strings.reduce(fn,'')

 

    }
    const user = 'Mary';
    const topic = 'Learn to user markdown';
    const sentence = highlight`${user} has commented on your topic ${topic}`;

    document.body.innerHTML = sentence;
</script>

比如我们先定义一 highlight函数,然后返回 laravist ,刷新浏览器,打印一下 sentence 返回得到 laravist
也就是说当你使用标签模板字符串的时候,最后这个字符串返回的内容其实是由你这个标签也就是这个函数决定的。那么我们这个函数它会接受模板字符串作为它的参数。

values其实是一个数组,里面的元素就是后面这些剩余的参数组成的,比如我们的usertopic。值得注意的是模板中用变量开头或结尾的话就会多一个空字符串,注意打印出来的结果有一个undefined。标签模板字符串可以帮助我们处理模板字符串,返回我们想要的字符串。
以上代码可以实现语句高亮。

语句高亮

相关文章

  • 第十一小节:ES6标签模板

    首先,什么是标签模板字符串呢? 就是在你的模板字符串里面写一个标签,比如说highlight,然后给它制定一些规则...

  • ES6模版字符串

    初探ES6:字符串模板 && 标签模板 关键词:``,${} 字符串模板: 在ES6之前我们要在html或者con...

  • 21.模板字符串和标签模板字符串

    ES6新增了模板字符串,用于字符串拼接 ES6新增了标签字符串 标签模板字符串执行结果: 函数的第一个参数为数组,...

  • string 的新特性

    一.模板字符串 二.标签模板 标签模板是ES6给我们带来的一种新语法,它常用来过滤用户的非法输入和多语言转换。 三...

  • 05-Django模板

    一、模板概述 模板组成 作用 优点 模板处理 二、定义模板 变量 标签 单行注释 标签if 标签for 标签com...

  • 05-Django模板

    一、模板概述 模板组成 作用 优点 模板处理 二、定义模板 变量 标签 单行注释 标签if 标签for 标签com...

  • JavaWeb - jsp中EL表达式的$符号和ES6模板字符串

    在jsp中使用ES6的模板字符串,由于el表达式和模板字符串的插入变量都是使用${}这种形式,所以下面的img标签...

  • Django模板标签

    知识点: 基本概念 常用标签 模板标签例子 模板继承与应用 注释标签 模板文件路径设置 模板标签 标签在渲染的过程...

  • ES6:模板字符串

    标签: 模板字符串 JavaScript ES6 前端 web本博客版权归本人和饥人谷所有,转载需说明来源内容转载...

  • 1.字符串的扩展

    标签模版 采用es6实现html转义功能: String.raw 往往用来充当模板字符串的处理函数,返回一个斜杠都...

网友评论

      本文标题:第十一小节:ES6标签模板

      本文链接:https://www.haomeiwen.com/subject/astgwxtx.html