varName=new Function
([param1Name,
param2Name,...paramNName], functionBody);
Example D3:
?
var add=new Function
("a",
"b", "return a+b;");
alert(add(3,4)); // 结果
7
我在这里有两个参数叫做a和b,而函数体返回a和b的和。请注意new Function
(...)使用了大写F,而不是小写f。这就告诉javascript,我们将要创建一个类型是Function
的对象
。还要注意到,参数名和函数体都是作为字符串而被传递。我们可以随心所欲的增加参数,javascript知道函数体会是右括号前的最后一个字符串(如果没有参数,你能够只写函数体)。你没必要将所有东西都写在一行里(使用\或者使用字符串连接符+来分隔长代码)。\标记告诉JavaScript在下一行查找字符串的其余部分。例子如下:
Example
D4
var add=new Function
("a",
"b",
"alert" + // 注意 "+"
"('adding '+a+' and ' +b);\ // 和
"\"的不同用法
return a+b;");
alert(add(3,4)); // 结果
7