ES6模板字符串和标签模板的应用实例分析


Posted in Javascript onJune 25, 2019

本文实例讲述了ES6模板字符串和标签模板的应用。分享给大家供大家参考,具体如下:

ES6 中对字符串进行了扩展,而模板字符串就是一个非常实用的方式,可以在html中实现与变量和方法的混编

之前我们手动拼接字符串的方式

let hello = 'Hello';
let html = '<div>' +
 '<span>'+ hello +'</span>' +
 '</div>';
console.log(html); // <div><span>Hello</span></div>

ES6中使用模板字符串来优化了拼接的方式

let name = 'Joh';
let qq = '56655';
function log() {
 return 'Hi there!';
}
let html = `
 <div>
  <ul>
    <li>${ name === 'Joh' ? 'is Joh' : 'not Joh'}</li>
    <li>${qq}</li>
    <li>${log()}</li>
  <ul>
 </div>
`
console.log(html);
/*
// 输出如下html:
<div>
  <ul>
    <li>is Joh</li>
    <li>56655</li>
    <li>Hi there!</li>
  <ul>
</div>
*/

可以看出模板字符串优化了之前拼接字符串的方式,更方便于编程

关于标签模板

未经处理的标签函数与模板字符串的结合,导致模板字符串失效

function tag() {
 return 'tag';
}
let name = "Joh";
var res = tag`hello ${name}`;
console.log(res); // tag

标签函数对模板字符串进行处理, 安全编码的示例:

function safe(strArr) {
 let res = '';
 console.log(arguments);
 for(var i=0, len = strArr.length; i < len; i++) {
  res += strArr[i].replace(/</g, '<').replace(/>/g, '>');
  if(i < arguments.length -1) {
   res += arguments[i + 1];
  }
 }
 return res;
}
let name = 'Joh';
var result = safe`<p>hello ${name}</p>`;
console.log(result); // <p>hello Joh</p>

更多关于JavaScript相关内容可查看本站专题:《javascript面向对象入门教程》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
getJSON调用后台json数据时函数被调用两次的原因猜想
Sep 29 Javascript
javascript中一些util方法汇总
Jun 10 Javascript
简述AngularJS的控制器的使用
Jun 16 Javascript
jQuery弹出遮罩层效果完整示例
Sep 13 Javascript
Javascript 获取鼠标当前的位置实现方法
Oct 27 Javascript
自己封装的一个原生JS拖动方法(推荐)
Nov 22 Javascript
Javascript 实现 Excel 导入生成图表功能
Oct 22 Javascript
用图片替换checkbox原始样式并实现同样的功能
Nov 15 Javascript
JS中的算法与数据结构之栈(Stack)实例详解
Aug 20 Javascript
java实现单链表增删改查的实例代码详解
Aug 30 Javascript
浅析 Vue 3.0 的组装式 API(一)
Aug 31 Javascript
vue 避免变量赋值后双向绑定的操作
Nov 07 Javascript
基于Node.js搭建hexo博客过程详解
Jun 25 #Javascript
Node.js实现简单的爬取的示例代码
Jun 25 #Javascript
浅谈目前可以使用ES10的5个新特性
Jun 25 #Javascript
vue 移动端注入骨架屏的配置方法
Jun 25 #Javascript
基于vue+axios+lrz.js微信端图片压缩上传方法
Jun 25 #Javascript
新手快速入门微信小程序组件库 iView Weapp
Jun 24 #Javascript
前端Vue项目详解--初始化及导航栏
Jun 24 #Javascript
You might like
斜45度寻路实现函数
2009/08/20 Javascript
JS实现悬浮移动窗口(悬浮广告)的特效
2013/03/12 Javascript
js中hash和ico的关联分析
2015/02/05 Javascript
Bootstrap table 定制提示语的加载过程
2017/02/20 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
2017/10/18 Javascript
Vue Element使用icon图标教程详解(第三方)
2018/02/07 Javascript
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
2018/04/26 Javascript
AngularJS实现的base64编码与解码功能示例
2018/05/17 Javascript
React 项目迁移 Webpack Babel7的实现
2018/09/12 Javascript
nodejs基础之buffer缓冲区用法分析
2018/12/26 NodeJs
深入理解vue-class-component源码阅读
2019/02/18 Javascript
JS查找孩子节点简单示例
2019/07/25 Javascript
详解nuxt 微信公众号支付遇到的问题与解决
2019/08/26 Javascript
vue实现评论列表功能
2019/10/25 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
2019/11/13 Javascript
uni-app使用微信小程序云函数的步骤示例
2020/05/22 Javascript
[02:24]DOTA2痛苦女王 英雄基础教程
2013/11/26 DOTA
Python中的True,False条件判断实例分析
2015/01/12 Python
解读Python中degrees()方法的使用
2015/05/18 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
解决python3爬虫无法显示中文的问题
2018/04/12 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
如何使用django的MTV开发模式返回一个网页
2019/07/22 Python
详解python中的模块及包导入
2019/08/30 Python
python自动化发送邮件实例讲解
2021/01/04 Python
利用Opencv实现图片的油画特效实例
2021/02/28 Python
英国在线女鞋目的地:SIMMI
2018/12/27 全球购物
SIDESTEP荷兰:在线购买鞋子
2019/11/18 全球购物
Herschel Supply Co.美国:背包、手提袋及配件
2020/11/24 全球购物
行政经理岗位职责
2013/11/09 职场文书
党的群众路线教育实践活动查摆问题自查报告
2014/10/10 职场文书
一次性工伤赔偿协议书范本
2014/11/25 职场文书
2016年寒假家长评语
2015/10/10 职场文书
Python合并多张图片成PDF
2021/06/09 Python
Python 全局空间和局部空间
2022/04/06 Python
Python中的 No Module named ***问题及解决
2022/07/23 Python