借助new Function 实现前端模板引擎

1.提取标识字段,替换值

通过正则 /<%([^%>]+)?%>取出age和name通过while替换成传进来的值,生成this is 23,this is 123,

但是这种简单的场景可以满足功能,复杂的 就无法满足了,

于是借助new Function实现,我们直接通过new Function

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

拆分成

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

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

修改模板

 

posted @ 2017-09-11 10:53  前端散人  阅读(293)  评论(0)    收藏  举报