最近项目中使用百度模板引擎baiduTemplate.js,使用动态函数解析模板中代码。
通过new Function([arg1,arg2,...,argN,]functionBody)方式实现动态函数调用。
如下:
<!doctype html>
<html>
<head>
<script type="text/javascript">
var funBody = "var sum=0;for(var i=1;i<=10;i++){sum+=i;};alert(sum + x + y);";
var a = 1,b=2;
var newFun = new Function("x","y",funBody);
newFun(a,b);
</script>
</head>
<body>
</body>
</html>