es6模板字符串_js循环字符串

es6模板字符串_js循环字符串相比ES5的拼接字符串,ES6毫无疑问是简单明了,又清晰可维护。原始的字符串拼接真的是把整个人都拼傻,并且在处理的过程中会出现很多小坑,小问题。$(‘#ulList’).html(`<ul><li>浙江</li><li>杭州</li></ul>`);上面就是用es6的…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

相比ES5的拼接字符串,ES6毫无疑问是简单明了,又清晰可维护。原始的字符串拼接真的是把整个人都拼傻,并且在处理的过程中会出现很多小坑,小问题。

$('#ulList').html(`
    <ul>
      <li>浙江</li>
      <li>杭州</li>
    </ul>
`);

上面就是用es6的模板字符串“的写法,用反引号(`)标识。如果想拼接变量的话用${ },还可以嵌套使用,模板字符串中还可以嵌套另一个模板字符串。

$('#ulList').html(`
    <ul>
      <li>${data.province}</li>
      <li>${data.city}</li>
    </ul>
`);

//嵌套模板字符串
const tmpl = addrs => `
  <table>
  ${addrs.map(addr => `
    <tr><td>${addr.first}</td></tr>
    <tr><td>${addr.last}</td></tr>
  `).join('')}
  </table>
`;

上面的代码就是拼接变量,用${data.province}替换了+ ‘ data.province ‘ +

这都很简单,但在项目中的需求有的时候想在字符串拼接里面写入循环啊、函数啊之类的,

首先呢,大括号里支持任何表达式的,可以三目,可以调用函数,同样可以引用对象属性

let x = 1;
let y = 2;

`${x} + ${y} = ${x + y}`
// "1 + 2 = 3"

`${x} + ${y * 2} = ${x + y * 2}`
// "1 + 4 = 5"

let obj = {x: 1, y: 2};
`${obj.x + obj.y}`
// "3"

//调用函数
function fn() {
  return "大连";
}

`I come from ${ fn() }`
//I come from 大连

在模板字符串中怎么写循环呢?ES6声明了一个模板编译的说法,该模板使用<%...%>放置 JavaScript 代码,使用<%= ... %>输出 JavaScript 表达式。上代码

let template = `
<ul>
  <% for(let i=0; i < data.supplies.length; i++) { %>
    <li><%= data.supplies[i] %></li>
  <% } %>
</ul>
`;

函数写法

let script =
`(function parse(data){
  let output = "";

  function echo(html){
    output += html;
  }

  ${ template }

  return output;
})`;

return script;

详解还是要看阮一峰大佬的书,里面有ES6对字符串的详解。我这只是对模板字符串的简单介绍

http://es6.ruanyifeng.com/#docs/string  向大佬学习。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/171822.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ubuntu 20.04 安装中文输入法_如何在ubuntu中安装中文输入法

    ubuntu 20.04 安装中文输入法_如何在ubuntu中安装中文输入法在Ubuntu系统中,无论是写文档还是在程序中写注释,都经常需要用到中文输入法。本文简单介绍了三种输入法框架,然后详细介绍了在Ubuntu20.04系统中,IBus框架和Fcitx框架支持的中文输入法的配置和安装。……

    2022年9月26日
    1
  • 数据库系统及应用实验与课程设计指导(图书管理系统c++课程设计)

    一、系统平台开发工具:EclipsejavaMars数据库MySQLserver,Navicat可视化工具操作系统:win10百度云链接:https://pan.baidu.com/s/1SIWR75NRIh8sSL0oV7uZgA提取码:4y44二、数据库规划1.任务陈述:图书馆信息管理系统数据库用以收集、存储书籍信息、人员(读者、图书管理员…

    2022年4月18日
    43
  • 计算机三级数据库要安装什么软件,计算机三级数据库技术题库app

    计算机三级数据库要安装什么软件,计算机三级数据库技术题库app介绍(2020-07-06)计算机三级数据库技术题库,本软件包含了大量计算机三级数据库技术题,对备战考试的朋友很有帮助。软件中包括以下内容:2011年春浙江省高等学校计算机等级考试试卷(三级数据库技术及应用)2011年9月计算机等级考试三级数据库试题2012年春浙江省高等院校计算机等级考试三级数据库技术笔试真题2012年秋浙江省高等学校计算机等级考试试卷(三级数据库技术及应用)计算机等级考试三…

    2022年6月18日
    60
  • 数据结构 Hash表(哈希表)

    数据结构 Hash表(哈希表)参考链接:数据结构(严蔚敏)什么是Hash表要想知道什么是哈希表,那得先了解哈希函数哈希函数对比之前博客讨论的二叉排序树二叉平衡树红黑树BB+树,它们的查找都是先从根节点进行查找,从节点取出数据或索引与查找值进行比较。那么,有没有一种函数H,根据这个函数和查找关键字key,可以直接确定查找值所在位置,而不需要一个个比较。这样就**“预先知道”**key所在的位置,直…

    2022年7月23日
    10
  • 设计模式-单例模式(Singleton)

    设计模式-单例模式(Singleton)

    2021年8月22日
    55
  • 教你如何用Jenkins自动化部署项目(教程,从零到搭建完成)

    教你如何用Jenkins自动化部署项目(教程,从零到搭建完成)   最近在实习中接触了jenkins这个东西,所以花点时间了解了下。它可以在代码上传仓库(如github,gitee,gitlab)后,在jenkins(一个网站界面)中通过获取代码仓库中最新代码,进行自动化部署,而省去手动打包、上传服务器、部署这一系列步骤,非常方便。    下面教程分为以下几个部分:一、在你的本地电脑或者linux服务器上下载安装jenkins:jen…

    2022年5月5日
    449

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号