ECMAScript6模板字面量:反引号、${}占位符的使用

ECMAScript 6 中引入了模板字面量,主要通过多行字符串和字符串占位符对字符串进行增强操作。如下:

javascript 复制代码
//使用ECMAScript6模板字面量拼接字符串,例如:2024年8月12日 15:38:28 星期一
let dateRet = `${Year}年${Month}月${Dates}日 ${Hours}:${Minutes}:${Seconds} ${Week}`;

1、反引号的使用

模板字面量的基础语法是使用反引号"`"替换字符串的单引号或双引号。

javascript 复制代码
let str = `月落乌啼霜满天,
江枫渔火对愁眠。
姑苏城外寒山寺,
夜半钟声到客船。`

2、${}占位符的使用

在一个模板字面量中,允许将变量或任何合法的表达式嵌入占位符并将其作为字符串的一部分。字符串占位符使用:${}。

(1)将定义的变量嵌入占位符并将其放在字符串中进行输出。

javascript 复制代码
let name = "Tony";
let sex = "男";
let age = 25;
let str = `姓名:${name} 性别:${sex} 年龄:${age}`;
document.write(str); //输入:姓名:Tony 性别:男 年龄:25

(2)将表达式嵌入占位符并将其放在字符串中进行输出。

javascript 复制代码
let unitPrice = 566;
let number = 6;	
let str = `商品总价:${unitPrice * number}元`;
document.write(str); //输入:商品总价:3396元

3、综合实例

**【实例】**使用ECMAScript6模板字面量拼接字符串,实现日期时间的显示,执行结果如下图:

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ECMAScript6模板字面量</title>
</head>
<body>
    <p id="clock"></p>
</body>

<script type="text/javascript">
window.onload = function () {
    realTime(); //获取日期时间
    setInterval(function() { realTime() }, 1000);  //循环调用
}

//获取日期时间
function realTime()
{
    let dateTime = new Date();
    let Year = dateTime.getFullYear().toString();
    let tMonth = String(dateTime.getMonth() + 1);
    let Month = douPosit(tMonth);
    let tDates = dateTime.getDate().toString();
    let Dates = douPosit(dateTime.getDate().toString());
    let Hours = douPosit(dateTime.getHours().toString());
    let Minutes = douPosit(dateTime.getMinutes().toString());
    let Seconds = douPosit(dateTime.getSeconds().toString());
    let Week = convertDay(dateTime); //获取日期是周几

    //使用ECMAScript6模板字面量拼接字符串,例如:2024年8月12日 15:38:28 星期一
    let dateRet = `${Year}年${Month}月${Dates}日 ${Hours}:${Minutes}:${Seconds} ${Week}`;
    document.getElementById('clock').innerText=dateRet;
}

//个位数补两位数
function douPosit(numStr) {
    if (numStr != null && numStr.length == 1) {
        numStr = "0" + numStr;
    }
    return numStr;
}

//获取日期是周几
function convertDay(thisDate) {
    var dayRet = null;
    var show_day = new Array('星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六');
    if (thisDate != null) {
        var day = thisDate.getDay();
        dayRet = show_day[day];
    }
    return dayRet;
}
</script>
</html>
相关推荐
无限大.5 小时前
前端知识速记:节流与防抖
前端
十八朵郁金香5 小时前
【VUE案例练习】前端vue2+element-ui,后端nodo+express实现‘‘文件上传/删除‘‘功能
前端·javascript·vue.js
学问小小谢5 小时前
第26节课:内容安全策略(CSP)—构建安全网页的防御盾
运维·服务器·前端·网络·学习·安全
LCG元6 小时前
Vue.js组件开发-实现全屏图片文字缩放切换特效
前端·javascript·vue.js
还是鼠鼠7 小时前
图书管理系统 Axios 源码__新增图书
前端·javascript·vscode·ajax·前端框架·node.js·bootstrap
还是鼠鼠10 小时前
图书管理系统 Axios 源码 __删除图书功能
前端·javascript·vscode·ajax·前端框架·node.js·bootstrap
轻口味10 小时前
Vue.js `Suspense` 和异步组件加载
前端·javascript·vue.js
m0_zj11 小时前
8.[前端开发-CSS]Day08-图形-字体-字体图标-元素定位
前端·css
还是鼠鼠11 小时前
图书管理系统 Axios 源码__编辑图书
前端·javascript·vscode·ajax·前端框架
北极象12 小时前
vue3中el-input无法获得焦点的问题
前端·javascript·vue.js