模板字符串

  模板字符串:我理解为将字符串格式化、模板化,将字符串加强处理,此处的模板有动词的意思。

  字符串模板基本格式: `xxxxxx`(前后都用反引号【tab键上面按键】引起来)。除了作为普通字符串 外;还可以用来定义多行字符串;也可以在字符串中插入变量和表达式,进行字符串内容扩充和计算。

  1、普通字符串:

  let testStr = `ES6 TestDemo`;
  console.log(testStr); // ES6 TestDemo

  2、普通字符串 添加标签、换行符:

  let testStr = `ES6 TestDemo <H1>index文件</H1> \n 换行显示`;
  document.write(testStr);
  console.log(testStr);

    

      图1:页面显示内容          图2:控制台打印内容

  3、多行字符串:

  let testStr = `ES6 TestDemo,
  index文件,<br/>换行显示`;
  document.write(testStr);
  console.log(testStr);

    

  4、字符串内插入变量、表达式和方法:变量名、表达式和方法都写在 ${} 中,如 ${xxxxxx} 。

  let parStr1 = "TestDemo";            // 变量
  let parStr2 = '16:42';
  let parNum = 20;
  let testFun = function testFun() { // 方法
   return '测试方法!';
  };
  // function testFun(){ // 方法
  // return '测试方法!';
  // }
  let testStr = `ES6 ${parStr1},当前时间 ${parStr2}
  今天是放假的第${parNum + 1}天,一共放假${(parNum + 1) * 24}小时了。现在执行下${testFun()}`; // ${parStr1}、${parStr2}是变量,${parNum + 1}、${(parNum + 1)*24}、${testFun()}是表达式  (注:两种声明方法都能正常执行)
  document.write(testStr);
  console.log(testStr);

    

  模版字符串功能很强大,实际开发过程中,可以写一个活动页面或拼接页面,然后通过组件挂载 或ajax请求参数加载 然后显示给用户。

  同时需要注意的是 模板字符串中的换行('\n',<br/>)空格( ),以及HTML标签,浏览器渲染时都会正常渲染出来;但控制台打印时,代码是怎样的,打印出来也就是怎样的。

  let testStr = `<b>ES6</b> ${parStr1},当前时间 ${parStr2},
  今天是放假的第${parNum + 1}天,一共放假${(parNum + 1) * 24}小时了。
  现在执行下${testFun()}`;

    

符串新增方法

  字符串新增方法很多:

ES6 - 基础学习(4): 模板字符串和字符串新增方法的更多相关文章

  1. python 基础学习笔记(2)---字符串功能函数

    **上一篇写到了,基本的数据类型,今天重点来讲一下字符串的功能函数**回顾一下上篇的内容:一.int 整型,在python 3 中与long型合并 可以达到 -9223372036854775808- ...

  2. ES6 - 基础学习(5): 数值扩展

    二进制和八进制数值表示法 ES6提供了二进制和八进制数值的新写法,分别前缀 0b(或0B). 0o(或0O)然后跟上二进制.八进制值即可. 二进制(Binary)表示法新写法:前缀 0b 或 0B. ...

  3. ruby -- 基础学习(八)中文字符串截取的函数

    学习来源:http://www.codesky.net/article/200910/166595.html truncate(text, length = 30, truncate_string = ...

  4. ES6 基础学习

    ECMAScript 6 标准入门 一.let和const let命令 let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效:是块级作用域,且let不允许 ...

  5. 【ES6 】ES6 字符串扩展及新增方法

    模板字符串 传统写法 var str = 'There are <b>' + basket.count + '</b> ' + 'items in your basket, ' ...

  6. ES6 - 基础学习(3): 变量的解构赋值

    解构赋值概述 1.解构赋值是对赋值运算符的扩展. 2.它是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值. 3.代码书写上显得简洁且易读,语义更加清晰明了:而且还方便获取复杂对象中的数据字 ...

  7. ES6 - 基础学习(1): 开发环境搭建

    现在Chrome浏览器已经很好的支持ES6了,但有些低版本的浏览器或其他浏览器还是不支持ES6的语法,因此实际项目开发或上线过程中就需要把ES6的语法转变成ES5的语法.项目开发过程中 Webpack ...

  8. es6+字符串string的新增方法函数

    String.includes("xxx")   返回true/false     [es5的字符串查找方法:String.indexOf() ] String.startsWit ...

  9. ES6 - 基础学习(8): Promise 对象

    概述 Promise是异步编程的一种解决方案,比传统的解决方案(多层嵌套回调.回调函数和事件)更强大也更合理.从语法上说,Promise是一个对象,从它可以获取异步操作的消息,Promise 还提供了 ...

随机推荐

  1. 痞子衡嵌入式:ARM Cortex-M内核那些事(3.2)- 安全模块看特性(M23/33/35P)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM Cortex-M功能模块,不过侧重点是三款安全特性处理器. ARM Cortex-M处理器家族发展至今(2020),已有8代产品 ...

  2. 频繁插入(insert)的业务,用什么存储引擎更合适? | 数据库系列(转)

    本文来自微信公众号 继续回答星球水友提问: 沈老师,MyISAM只支持表锁,但网上文章却说,在并发插入量比较大的时候,比较适合使用MyISAM,这矛盾吗? 这个问题,涉及MySQL表锁的一些细节,借着 ...

  3. Go的切片:长度和容量

    虽然说 Go 的语法在很大程度上和 PHP 很像,但 PHP 中却是没有"切片"这个概念的,在学习的过程中也遇到了一些困惑,遂做此笔记. 困惑1:使用 append 函数为切片追加 ...

  4. 理想乡题解 (线段树优化dp)

    题面 思路概述 首先,不难想到本题可以用动态规划来解,这里就省略是如何想到动态规划的了. 转移方程 f[i]=min(f[j]+1)(max(i-m,0)<=j<i 且j符合士兵限定) 注 ...

  5. Algorithm: 多项式乘法 Polynomial Multiplication: 快速傅里叶变换 FFT / 快速数论变换 NTT

    Intro: 本篇博客将会从朴素乘法讲起,经过分治乘法,到达FFT和NTT 旨在能够让读者(也让自己)充分理解其思想 模板题入口:洛谷 P3803 [模板]多项式乘法(FFT) 朴素乘法 约定:两个多 ...

  6. 2、初始ES6及Vue

    今日内容 es6的语法 let 特点: 1.局部作用域 2.不会存在变量提升 3.变量不能重复声明 const 特点: 1.局部作用域 2.不会存在变量提升 3.不能重复声明,只声明常量 不可变的量 ...

  7. oracle问题之死锁 (一)

    [前言] 遇到 oracle 异常 和 解决实践 系列文章 整理分享 杂症一.oracle死锁 一.症状: 执行SQL或程序时,程序没有响应或SQL执行一直处于执行状态,没有成功,也没有报错. 二.病 ...

  8. json通过后台获取数据库中的内容,并在前端进行显示

    fastjson.jar以及Echarts树图的js文件(需要在servlet对json进行赋值,所以需要用到json的插件) 链接:https://pan.baidu.com/s/1GBbamPNG ...

  9. angular之模块开发一

    模块化开发 概述 什么是模块化开发 将软件产品看作为一系列功能模块的组合 通过特定的方式实现软件所需模块的划分.管理.加载 为什么使用模块化开发 https://github.com/seajs/se ...

  10. 6、RIP

    在路由查找时,有类路由查找方式和无类路由查找的区别:有类路由查找:1.首先匹配主网条目.主网信息2.匹配上主网之后,再去查找子网信息3.查找到子网,就会转发,否则就丢弃4.有一种例外,没有找到主网和子 ...