function语句不是定义一个新的函数,并且可以定义你的函数动态使用Function()构造使用操作符的唯一途径。
注:这是面向对象编程的术语。第一次可能会感觉不太习惯,这里是没有问题的。
语法
下面是使用new运算符创建一个使用功能Function()构造的语法。
<script type="text/javascript"> <!-- var variablename = new Function(Arg1, Arg2..., "Function Body"); //--> </script>
Function()函数构造预期任意数量的字符串参数。最后一个参数是函数体- 它可以包含任意JavaScript语句,用分号彼此分开。
请注意,Function()构造不通过任何参数,指定一个名字为它创建函数。使用Function()构造函数创建的未命名的函数称为匿名函数。
例子:
下面是创建一个函数的例子:
<script type="text/javascript"> <!-- var func = new Function("x", "y", "return x*y;"); //--> </script>
这行代码创建了一个新的函数是或多或少等同于定义的函数的语法:
<script type="text/javascript"> <!-- function f(x, y){ return x*y; } //--> </script>
这意味着你可以调用上面函数如下:
<script type="text/javascript"> <!-- func(10,20); // This will produce 200 //--> </script>