模板字符串

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

  字符串模板基本格式: `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. UVA 最大面积最小三角形剖分

    点击打开题目 题目大意: 以顺时针或逆时针给出一个简单多边形的n个点的坐标,用n-2条互不相交的,且与边不相交的对角线,分成n-2个三角形,要求其中最大三角形的面积最小 开始还汪星人咬乌龟,无从下口, ...

  2. 解决luajit ffi cdata引用cdata的问题

    使用luajit ffi会遇到cdata引用cdata的情况.官方说明是必须手动保存所有cdata的引用,否则会被gc掉. ffi.cdef[[ struct A { int id; }; struc ...

  3. beta版本发布说明与总结

    1.发布说明: 软件介绍: deta版本的发布最终是一个可安装使用的窗体程序,已经由Alpha版本的应用解决方案完成到一个程序: deta版本解决了Alpha版本遗留的软件技术方面错误问题,以及针对有 ...

  4. HttpClient介绍和使用

    HttpClient介绍和使用 今天有一个需求:后台访问一个接口,获取返回的数据.于是找到了HttpClient 1.介绍 SpringCloud中服务和服务之间的调用全部是使用HttpClient, ...

  5. 20190710双人开黑CF模拟赛

    Codeforces Round #571 (Div. 2) 日常被tanao_大佬带飞,我AC了A和C(B题没了...否则tanao_大佬肯定把我吊打) A. Vus the Cossack and ...

  6. Java:多线程概述与创建方式

    目录 Java:多线程概述与创建方式 进程和线程 并发与并行 多线程的优势 线程的创建和启动 继承Thread类 start()和run() 实现Runnable接口 实现Callable接口 创建方 ...

  7. 基于Arduino开发的智能蓝牙小车

    基于Arduino的智能蓝牙小车 材料准备: Arduino开发板一块.四驱小车底板及相关配件一套.L298N驱动模块一个.HC-05/06蓝牙模块一块,九伏电源一块(用于主板供电).12V锂电池一块 ...

  8. List容器排序方法的使用

    今天在做任务的时候需要对已经存到list容器里的对象数组进行排序,需要根据 其中的一个属性进行排序,最初是根据一个利用冒泡排序的算法进行处理的后来上网查了一下对于list容器进行排序时有自带的方法.所 ...

  9. 整合dubbo的依赖

    <!-- 版本信息 --> <properties> <dubbo.version>2.7.3</dubbo.version> <maven-ja ...

  10. 命令行开启WIFI

    netsh wlan set hostednetwork allow   //netsh wlan set hostednetwork mode=disallow netsh wlan set hos ...