ES6之模版字符串的具体使用


Posted in Javascript onMay 17, 2018

最近在项目中使用了ES6的模版字符串,在这里加以总结。

1.之前我们也可以使用JavaScript输出模版字符串,通常是下面这样的:

$("#result").append(
    "He is <b>"+person.name+"</b>"+"and we wish to know his"+person.age+".That is all" 
    );

但是我们可以看到:这样的传统做法需要使用大量的“”(双引号)和 + 来拼接才能得到我们需要的模版。但是这样是十分不方便的。

于是ES6中提供了模版字符串,用`(反引号)标识,用${}将变量括起来。上面的例子可以用模版字符串写成下面这样:

$("#result").append(
  `He is <b>${person.name}</b>and we wish to know his${person.age}.that is all`
    );

这样的做法就简洁了很多,我们不需要再使用大量的""和+来拼接字符串和变量。

2. 当然,模版字符串可以引入变量,不使用变量也是可以的。如下所示:

` I am a man.`

` No matter what you do,

I trust you.`  

3. 我们还可以先定义变量,然后在模版字符串中嵌入变量:

var name="zzw";
` ${name},no matter what you do,
 I trust you.`

4.显然,由于反引号是模版字符串的标识,如果我们需要在字符串中使用反引号,我们就需要对其进行转义,如下所示:

`No matter\` what you do,
I trust you.`

5.注意:如果使用模版字符串表示多行字符串,所有的空格和缩进都会被保存在输出中!!

console.log( `No matter\` what you do,
 I trust you.`);

输出结果如下:

ES6之模版字符串的具体使用

6. 在${}中的大括号里可以放入任意的JavaScript表达式,还可以进行运算,以及引用对象属性。

var x=88;
var y=100;
console.log(`x=${++x},y=${x+y}`);

结果如下所示:

ES6之模版字符串的具体使用

7.更强大的是:模版字符串还可以调用函数:

function string(){
  return "zzw likes es6!";
}
console.log(`你想说什么?嗯,${string()}`);

结果如下所示:

ES6之模版字符串的具体使用

另外,如果函数的结果不是字符串,那么,将按照一般的规则转化为字符串:

function string(){
    return 666;
  }
  console.log(`你想说什么? 嗯,${string()}`);

结果如下所示:

ES6之模版字符串的具体使用

在这里,实际上数字666被转化成了字符串666.

8.如果在${}中的变量时没有命名的,那么会报错:

console.log(`你想说什么? 嗯,${string()}`);

在上面这句代码中,string()函数没有声明,于是报错:

ES6之模版字符串的具体使用

9.其实,我们还可以在${}中输入一个字符串,知识结果仍旧会返回一个字符串:

console.log(`你想说什么?嗯,${"其实我不是变量~"}`);

结果如下所示:

ES6之模版字符串的具体使用

10.如果希望引用模版字符串本身,可以像下面这样写:

let str="return"+"`Hello! ${name}`";
let func=new Function("name",str);
 console.log(func("zzw"));

结果如下:

ES6之模版字符串的具体使用

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery 插件学习(六)
Aug 06 Javascript
Jquery中&quot;$(document).ready(function(){ })&quot;函数的使用详解
Dec 30 Javascript
angular.foreach 循环方法使用指南
Jan 06 Javascript
JQuery中attr方法和removeAttr方法用法实例
May 18 Javascript
Javascript实现的简单右键菜单类
Sep 23 Javascript
如何防止JavaScript自动插入分号
Nov 05 Javascript
Bootstrap编写一个在当前网页弹出可关闭的对话框 非弹窗
Jun 30 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
Mar 13 Javascript
详解使用React进行组件库开发
Feb 06 Javascript
解决layer弹层遮罩挡住窗体的问题
Aug 17 Javascript
AngularJS动态生成select下拉框的方法实例
Nov 17 Javascript
jQuery实现的分页插件完整示例
May 26 jQuery
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
May 17 #Javascript
使用淘宝镜像cnpm安装Vue.js的图文教程
May 17 #Javascript
解决Mac安装thrift因bison报错的问题
May 17 #Javascript
Vue中的字符串模板的使用
May 17 #Javascript
快速解决brew安装特定版本flow的问题
May 17 #Javascript
vue2.0 实现导航守卫的具体用法(路由守卫)
May 17 #Javascript
通过一次报错详细谈谈Point事件
May 17 #Javascript
You might like
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
php在线打包程序源码
2008/07/27 PHP
PHP中CURL方法curl_setopt()函数的参数分享
2013/01/19 PHP
使用PHP实现Mysql读写分离
2013/06/28 PHP
php操作XML、读取数据和写入数据的实现代码
2014/08/15 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
2015/01/07 PHP
10个值得深思的PHP面试题
2016/11/14 PHP
window.addeventjs事件驱动函数集合addEvent等
2008/02/19 Javascript
几个javascript操作word的参考代码
2009/10/26 Javascript
javascript中万恶的function实例分析
2011/05/25 Javascript
JS对象转换为Jquery对象示例
2014/01/26 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
Node.js操作Firebird数据库教程
2016/03/04 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
2017/03/01 Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
2017/03/04 Javascript
使用Math.max,Math.min获取数组中的最值实例
2017/04/25 Javascript
xmlplus组件设计系列之文本框(TextBox)(3)
2017/05/03 Javascript
JavaScript实现多重继承的方法分析
2018/01/09 Javascript
nodejs 日志模块winston的使用方法
2018/05/02 NodeJs
JS实现监控微信小程序的原理
2018/06/15 Javascript
Vue实现base64编码图片间的切换功能
2019/12/04 Javascript
js实现登录时记住密码的方法分析
2020/04/05 Javascript
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
2020/10/30 Javascript
Python下rrdtool模块的基本使用方法
2015/11/13 Python
利用Django内置的认证视图实现用户密码重置功能详解
2017/11/24 Python
用Python解数独的方法示例
2019/10/24 Python
Python3.7基于hashlib和Crypto实现加签验签功能(实例代码)
2019/12/04 Python
Python函数的定义方式与函数参数问题实例分析
2019/12/26 Python
Python __slots__的使用方法
2020/11/15 Python
汽车检测与维修应届毕业生求职信
2013/10/19 职场文书
《孔子游春》教学反思
2014/02/25 职场文书
现金出纳岗位职责
2014/03/15 职场文书
如何写一份成功的商业计划书
2019/06/25 职场文书
仅用一句SQL更新整张表的涨跌幅、涨跌率的解决方案
2021/05/06 MySQL
利用Python将list列表写入文件并读取的方法汇总
2022/03/25 Python