JavaScript 实现一个极简的模板引擎
实现函数 render,是的返回符合预期。
render("我是{{name}},年龄{{age}}", {
name: "lucifer",
age: 17
});
// 结果: 我是姓名,年龄 18
关键点
正则表示默认是 贪婪匹配
,如果实现懒惰匹配,在量词元字符后面添加一个 ?
即可。如果使用贪婪匹配,我们会匹配到最后一个 }}
,而不是第一个结束的 }}
。
代码
function render(tpl, data) {
return tpl.replace(/\{\{(.+?)\}\}/g, function($1, $2) {
// $1 分组为 类似 {{name}}
// $2 分组为 类似 name
// 加上面的小括号就是为了方便拿到key而已
return data[$2];
});
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论