用 Function 类直接创建函数的语法如下:
var function_name = new function(arg1, arg2, ..., argN, function_body)
在上面的形式中,每个
arg 都是一个参数,最后一个参数是函数主体(要执行的代码)。这些参数必须是字符串。
大多数情况下,这都可以被一般的传参式创建所替代,但是有些特别的情况只能使用上述方式创建。
例:
现在有变量 var tpl = "Hello ' + obj.username +'.' ";
要把obj.username变成变量,其他静态字符串不变
就可以构建字符串函数体
tpl = "var tpl = '" + tpl + "\nreturn tpl";
然后创建函数对象new Function('obj',tpl);