匿名函数
函数也是对象,所以可以使用构造函数来创建一个函数,例如
var sayHI=new function ("towhom",''alert("helllo"+towhom);");
sayHI("Tom");
因为函数本身没有被直接的声明和命名过,所以这一类型的函数通常叫做匿名函数。
JavaScript引擎动态的创建匿名函数,每次调用时都要动态的构造该函数。声明函数只需要创建一次。
对于那些只在运行时才能确定函数要满足何种需求时,这种动态定义函数的方法很常用。
构造函数创建一个匿名动态函数的语法格式:
var variable=new Function("param1","function body");
函数直接量
函数直接量也叫函数表达式,
var func=function(x,y){
return (x*y);
}
alert(func(3,3));
当函数直接量作为参数传给另一个函数之类的工作时,此函数类型得到利用。
例如:
<script>
function funcObject(x,y,z){
alert(z(x,y));
}
funcObject(1,2 function(x,y){return x*y})
</script>
函数直接量只解析一次,而匿名函数调用时都要重新构造。