借助new Function 实现前端模板引擎
1.提取标识字段,替换值

通过正则 /<%([^%>]+)?%>取出age和name通过while替换成传进来的值,生成this is 23,this is 123,
但是这种简单的场景可以满足功能,复杂的 就无法满足了,

于是借助new Function实现,我们直接通过new Function
返回一个拼接的数据串,就可以了。但是竟然是前端引擎模板,就不能仅仅是如此简单的功能,像for循环这个就无法满足了,于是继续优化,我们可以把

拆分成

然后把join的值放在new Function执行就行了,我们看看把上面的模板转换成下面模板的代码

接下来的修改我们的模板。如它支持更复杂的逻辑:

修改模板


浙公网安备 33010602011771号