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 1.6发布 性能提升,同时包含大量破坏性变更
May 10 Javascript
JS简单的轮播的图片滚动实例
Jun 17 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
Dec 03 Javascript
js实现登陆遮罩效果的方法
Jul 28 Javascript
jQuery实现灰蓝风格标准二级下拉菜单效果代码
Aug 31 Javascript
JavaScript各类型的关系图解
Oct 16 Javascript
基于AngularJS实现iOS8自带的计算器
Sep 12 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
Oct 10 Javascript
js获取隐藏元素的宽高
Feb 24 Javascript
ionic grid(栅格)九宫格制作详解
Jun 30 Javascript
详解从0开始搭建微信小程序(前后端)的全过程
Apr 15 Javascript
简单了解JavaScript弹窗实现代码
May 07 Javascript
解决淘宝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
php Xdebug 调试扩展的安装与使用.
2010/03/13 PHP
ajax+php打造进度条代码[readyState各状态说明]
2010/04/12 PHP
PHP投票系统防刷票判断流程分析
2012/02/04 PHP
一个PHP并发访问实例代码
2012/09/06 PHP
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
thinkphp3.x中session方法的用法分析
2016/05/20 PHP
php array_keys 返回数组的键名
2016/10/25 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
2019/10/18 PHP
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
2009/05/21 Javascript
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
基于JQuery的Pager分页器实现代码
2010/07/17 Javascript
js函数调用常用方法详解
2012/12/03 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
2013/08/05 Javascript
JavaScript将Web页面内容导出到Word及Excel的方法
2015/02/13 Javascript
详解javascript实现自定义事件
2016/01/19 Javascript
JavaScript Math 对象常用方法总结
2016/04/28 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
BootStrap selectpicker后台动态绑定数据
2017/06/01 Javascript
React学习笔记之条件渲染(一)
2017/07/02 Javascript
vuejs使用FormData实现ajax上传图片文件
2017/08/08 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
2018/11/10 Javascript
[02:01]BBC DOTA2国际邀请赛每日综述:八强胜者组鏖战,中国队喜忧参半
2014/07/19 DOTA
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
python三元运算符实现方法
2013/12/17 Python
python实现kNN算法
2017/12/20 Python
对sklearn的使用之数据集的拆分与训练详解(python3.6)
2018/12/14 Python
Django rest framework jwt的使用方法详解
2019/08/08 Python
PyQt5多线程刷新界面防假死示例
2019/12/13 Python
Jupyter Notebook输出矢量图实例
2020/04/14 Python
Visual Studio code 配置Python开发环境
2020/09/11 Python
英国排名第一的在线宠物用品商店:Monster Pet Supplies
2018/05/20 全球购物
销售行政专员岗位职责
2014/06/10 职场文书
学校领导班子四风对照检查材料
2014/09/27 职场文书
党支部工作总结2015
2015/04/01 职场文书
详解PHP服务器如何在有限的资源里最大提升并发能力
2021/05/25 PHP