点击查看代码
function render(template, data) {
const reg = /\{\{(\w+)\}\}/; // 模板字符串正则
if (reg.test(template)) { // 判断模板⾥是否有模板字符串
const name = reg.exec(template)[1]; // 查找当前模板⾥第⼀个模板字符串的字段
template = template.replace(reg, data[name]); // 将第⼀个模板字符串渲染
return render(template, data); // 递归的渲染并返回渲染后的结构
}
return template; // 如果模板没有模板字符串直接返回
}
测试:
let template = '我是{{name}},年龄{{age}},性别{{sex}}';
let person = {
name: '布兰',
age: 12
}
render(template, person); // 我是布兰,年龄12,性别undefined
标签:name,render,template,字符串,reg,模板 From: https://www.cnblogs.com/wan-cb/p/17680105.html