首页 > 开发 > JS > 正文

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

2024-05-06 16:52:44
字体:
来源:转载
供稿:网友

本文实例讲述了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/Ajax教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表