函数的构造函数
是Function
,函数
是Function
的实例。
在 JavaScript 中使用 Function
可以实例化函数对象,也是说在 JavaScript 中函数与普通对象一样,也是一个对象类型,函数是 JavaScript 的一等公民。
- 函数是对象,可以使用对象的动态特性
- 函数是对象,就有构造函数创建函数
- 函数是函数,可以创建其他对象
- 函数是唯一可以限定变量作用域的结果
语法:
new Function(arg0, arg1, arg2, arg3, argN, body);
-
Function
中的参数全部是字符串 -
该构造函数的作用是将参数链接起来组成函数
- 如果参数只有一个,那么表示函数体
- 如果参数有多个,那么最后一个表示函数体,前面所有参数表示函数的参数
- 如果没有参数,表示创建一个空函数
function foo() {console.log("foo");
}
foo();
/* 等价于 */
var func = new Function("console.log(\"foo\")");
func();
function foo(num, desc) {console.log(num,desc);
}
foo(123,"我是描述");
/* 等价于 */
var func = new Function("num", "des","console.log(num,des)");
func(123, "我是描述");
注意,使用 Function
定义函数时,如果有参数的话,参数的名字一定要和函数体中的参数名字保持一致,如:num
对应 num
;desc
对应desc
。