函数就是一个对象。因此,你可以像创建字符串、数组那样通过一个构造器创建它们,并将该函数赋给一个变量。
1. 匿名函数的定义
var variable = new Funcation("param1", "param2", ..., "paramn", "funcationBody");
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>Tests</title> </head> <body> <script language="javascript" type="text/javascript"> var func = new Function("x", "y", "return x * y"); var result = func(2,3); document.writeln(result); </script> </body> </html>
//运行结果:
//6
2. 与声明式函数的区别
function functionName(param1, param2, ..., paramn){ function statements }
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>Tests</title> </head> <body> <script language="javascript" type="text/javascript"> function mul(x, y){ return x * y; } var result = mul(3,4); document.writeln(result); </script> </body> </html>
//运行结果:
//12
当Js解析匿名函数时,它将动态创建一个匿名函数,当函数调调用结束,该函数将被自动删除。如果匿名函数在循环语句中使用,效率是应该考虑的问题。