js 模板字符串``的常用方法

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>模板字符串的方法</title>
</head>
<body>
	<div></div>
</body>
<script>
	// 实现原理
	let name = 'list';
	let age = 18;
	let res = `My name is ${name},I am ${age} years old`;
	// 内部的原理,正则表达式的使用
	res = res.replace(/\$\{([^}]*)\}/g,function() {
		console.log(arguments);
		return eval(arguments[1])
	})
	console.log(res)


	// 模板字符串拼接
	let info = [name,age];
	let lis = info.map(function(item) {
		return `<li>${item}</li>`;
	})
	let ulString = `
	<ul>
		${lis.join('')}
	</ul>
	`;
	document.write(ulString) //把拼接的字符串写到页面


	// 模板字符串嵌入表达式进行运算
	let x = 1;
	let y = 2;
	let obj = {a:1,b:2};
	console.log(`${x} + ${y} = ${x + y}`);
	console.log(`${obj.a + obj.b}`);



	// 模板字符串调用函数
	function sayHello() {
		return 'hello 刘富贵'
	}
	console.log(`${sayHello()}`)


	// 模板字符串嵌套模板字符串
	const tmpl = addrs =>`
		<table>
			${addrs.map(addr =>`
				<tr><td>${addr.first}</td></tr>
				<tr><td>${addr.last}</td></tr>
				`).join('')}
		</table>
	`;
	const data = [
    { first: '<Jane>', last: 'Bond' },
    { first: 'Lars', last: '<Croft>' },
];
console.log(tmpl(data));


// 模板字符串标签模板功能
	alert`hello`;
	// 等同于
	alert(['hello'])
	// 解析:标签模板其实不是模板,而是函数调用的一种特殊形式。“标签”指的就是函数,紧跟在后面的模板字符串就是他的参数。
</script>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空城三梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值