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  向大佬学习。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pycharm不支持32位系统怎么办_win10更新一直安装失败

    pycharm不支持32位系统怎么办_win10更新一直安装失败出现ThisinstallationcontainsJetBrainsRuntime11whichdoesnotsupportMicrosoftWindows32-bitversion.这个导致的原因是电脑操作系统是32位的,不支持Pycharm64位的软件安装,因此需要我们去下载一个Pycharm32位的软件版本。可以在https://www.jetbrains.com/pycharm/download/other.html这里进入,选择Pycharm低版本的,例如2018版本P

  • STM32的IWDG(独立看门狗)详细用法

    STM32的IWDG(独立看门狗)详细用法文章出处:https://www.cnblogs.com/Liu-Jing/p/7243029.html章参考资料:《STM32F4XX中文参考手册》IWDG章节。1、IWDG简介:  STM32有两个看门狗,一个是独立看门狗另外一个是窗口看门狗,独立看门狗号称宠物狗,窗口看门狗号称警犬,本章我们主要分析独立看门狗的功能框图和它的应用。独立看门狗用通俗一点的话来解释就是一个12位的递减计…

  • Welcome to Xiao

    Welcome to Xiao这里写自定义目录标题WelcometoXiao新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入WelcometoXiao你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Mar

  • python猪脸识别_JD竞赛,猪脸识别

    python猪脸识别_JD竞赛,猪脸识别pig_faceThisrepositoryisusedtosavethecodeforacompetition1.运行环境Ubuntu16.04python2.7.12cuda8.0cudnn6.0tensorflow1.3.0GPU4*TITANXP2.从视频中截取出猪:(1)为了排除背景数据对模型的影响,我们使用yolo-9000算法提取出视频中每一…

  • html浮雕效果代码_css内嵌式代码

    html浮雕效果代码_css内嵌式代码前言最近在看百度地图看到了一个效果,感觉这个效果用在网页上应该蛮赞的,于是就学习了一下。效果图如下:浮雕效果需要用到伸缩盒的知识(flex)flex在chrome是完全支持的,要加-webkit-前缀,其他的浏览器有的支持有的不支持,自己去查css手册,今天主要想讲一下怎么制作出浮雕效果先附上代码:<divclass=”title”>&…

  • Memwatch使用说明

    Memwatch使用说明linux下的测试工具真是少之又少,还不好用,最近试用了memwatch,感觉网上的介绍不太好,所以放在这里跟大家分享 。其实大部分都是看的帮助,很多地方翻译得不好还有错,请原谅指出最好看原文。如果转载或引用,请注明我的博客地址,谢谢。 1介绍MemWatch由 Johan Lindh 编写,是一个开放源代码 C 语言内存错误检测工具。MemWatch支持 ANSI C,它提供结果日志纪录

发表回复

您的电子邮箱地址不会被公开。

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