标签模板
标签模板
var a = 5;
var b = 10;
tag`Hello ${ a + b } world ${ a * b }`;
上面代码中,模板字符串前面有一个标识名tag,它是一个函数。整个表达式的返回值,就是tag函数处理模板字符串后的返回值。
tag函数所有参数的实际值如下。
- 第一个参数:['Hello ', ' world ']
- 第二个参数: 15
- 第三个参数:50
也就是说,tag函数实际上以下面的形式调用。
tag(['Hello ', ' world '], 15, 50)
下面是tag函数的一种写法,以及运行结果。
var a = 5;
var b = 10;
function tag(s, v1, v2) {
document.write(s[0]);
document.write(s[1]);
document.write(v1);
document.write(v2);
return "OK";
}
tag`Hello ${ a + b } world ${ a * b}`;
// "Hello "
// " world "
// 15
// 50
// "OK"