ES6 - 基础学习(4): 模板字符串和字符串新增方法
模板字符串
模板字符串:我理解为将字符串格式化、模板化,将字符串加强处理,此处的模板有动词的意思。
字符串模板基本格式: `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): 模板字符串和字符串新增方法的更多相关文章
- python 基础学习笔记(2)---字符串功能函数
**上一篇写到了,基本的数据类型,今天重点来讲一下字符串的功能函数**回顾一下上篇的内容:一.int 整型,在python 3 中与long型合并 可以达到 -9223372036854775808- ...
- ES6 - 基础学习(5): 数值扩展
二进制和八进制数值表示法 ES6提供了二进制和八进制数值的新写法,分别前缀 0b(或0B). 0o(或0O)然后跟上二进制.八进制值即可. 二进制(Binary)表示法新写法:前缀 0b 或 0B. ...
- ruby -- 基础学习(八)中文字符串截取的函数
学习来源:http://www.codesky.net/article/200910/166595.html truncate(text, length = 30, truncate_string = ...
- ES6 基础学习
ECMAScript 6 标准入门 一.let和const let命令 let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效:是块级作用域,且let不允许 ...
- 【ES6 】ES6 字符串扩展及新增方法
模板字符串 传统写法 var str = 'There are <b>' + basket.count + '</b> ' + 'items in your basket, ' ...
- ES6 - 基础学习(3): 变量的解构赋值
解构赋值概述 1.解构赋值是对赋值运算符的扩展. 2.它是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值. 3.代码书写上显得简洁且易读,语义更加清晰明了:而且还方便获取复杂对象中的数据字 ...
- ES6 - 基础学习(1): 开发环境搭建
现在Chrome浏览器已经很好的支持ES6了,但有些低版本的浏览器或其他浏览器还是不支持ES6的语法,因此实际项目开发或上线过程中就需要把ES6的语法转变成ES5的语法.项目开发过程中 Webpack ...
- es6+字符串string的新增方法函数
String.includes("xxx") 返回true/false [es5的字符串查找方法:String.indexOf() ] String.startsWit ...
- ES6 - 基础学习(8): Promise 对象
概述 Promise是异步编程的一种解决方案,比传统的解决方案(多层嵌套回调.回调函数和事件)更强大也更合理.从语法上说,Promise是一个对象,从它可以获取异步操作的消息,Promise 还提供了 ...
随机推荐
- CSS基础应用总结
目录 CSS 样式笔记 文字水平居中和垂直居中 如何设置a标签不带下划线 控件右对齐 div上下居中 控件左右居中 控件展示在同一行 设置文字超出部分...显示 CSS 样式笔记 文字水平居中和垂直居 ...
- VSCODE更改文件时,提示EACCES permission denied的解决办法(mac电脑系统)
permission denied:权限问题 具体解决办法: 1.在项目文件夹右键-显示简介-点击右下角解锁 2.权限全部设置为读与写 3.最关键一步:点击"应用到包含的项目",这 ...
- 图解kubernetes调度器SchedulerExtender扩展
在kubernetes的scheduler调度器的设计中为用户预留了两种扩展机制SchdulerExtender与Framework,本文主要浅谈一下SchdulerExtender的实现, 因为还有 ...
- 简单实现Android手机“全局可调试”(ro.debuggable = 1)的方法【锤子坚果3】
在Android真机上调试程序有一个前提,就是这个apk包必须有 debuggable=true 的属性才行.而除了自己开发的apk能够控制打包属性之外,其他的程序发行之后显然不会设这个值为 true ...
- axios用post传参,后端无法获取参数问题
最近用vue+nodejs写项目,前端使用axios向后台传参,发现后台接收不到参数. 后台是node+express框架,然后使用了body-parser包接收参数,配置如下: const expr ...
- CTF--HTTP服务--命令执行
开门见山 1. 扫描靶机ip,发现PCS 172.18.5.1 2. 用nmap扫描靶机开放服务和服务版本 3. 再扫描靶机全部信息 4. 用nikto工具扫描http服务的敏感信息 5. 打开浏览器 ...
- 从头学pytorch(二十二):全连接网络dense net
DenseNet 论文传送门,这篇论文是CVPR 2017的最佳论文. resnet一文里说了,resnet是具有里程碑意义的.densenet就是受resnet的启发提出的模型. resnet中是把 ...
- vuex之getter(二)
说明 使用vue,如果想对data数据派生一些状态,我们就用到计算属性或者侦听器,同样vux想要派生state中的一些状态,可以在store中定义一个getters属性,它相当于state的计算属性. ...
- sql serverDB运维实用sql大全
运维sql server的sql总结,包含阻塞语句.等待语句.某个时间段的sql性能查询等等常用sql语句 ##断开库的连接,记得修改库名 USE masterGOALTER DATABASE [DB ...
- 1759: 学生信息插入(武汉科技大学结构体oj)(已AC)
#include<stdio.h>struct student { long no; char name[9]; int score;} t;void input(struct stude ...