Javascript动态执行JS(new Function与eval比较)

new Function与eval可以动态执行JS,只要把拼接好的JS方法,然后以字符串的形式传入到这两个函数,可以执行,其中new Function用在模板引擎比较多。

用 Function 类直接创建函数的语法如下:

var function_name = new function(arg1, arg2, ..., argN, function_body)

在上面的形式中,每个 arg 都是一个参数,最后一个参数是函数主体(要执行的代码)。这些参数必须是字符串。

比如:

function callAnotherFunc(fnFunction, vArgument) {
  fnFunction(vArgument);
}
var doAdd = new Function("iNum", "alert(iNum + 10)");
callAnotherFunc(doAdd, 10);    //输出 "20"

参考:

http://www.jb51.net/article/35642.htm

http://www.w3school.com.cn/js/pro_js_functions_function_object.asp

posted @ 2016-12-28 00:56  EasonJim  阅读(5427)  评论(0编辑  收藏  举报