实现一个模板解析函数
描述:
使用 js 编写程序,将 双花括号内的数据替换成真实数据
示例:
let template = '我是{{name}},年龄{{age}},性别{{sex}}'; let data = { name: '姓名', age: 18 }
1
2
3
4
5实现:
- 利用 while 循环替换数据
function render (temp,data) { const reg = /\{\{(\w+)\}\}/ while (reg.test(temp)) { let param = reg.exec(temp)[1] temp = temp.replace(reg,data[param]) } return temp }
1
2
3
4
5
6
7
8- 利用递归替换数据
function render (temp,data) { const reg = /\{\{(\w+)\}\}/ if (reg.test(temp)) { const param = reg.exec(temp)[1] temp = temp.replace(reg,data[param]) return render(temp,data) } return temp }
1
2
3
4
5
6
7
8
9结果: