LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 157|回复: 0

"new Function" 语法

[复制链接]
发表于 2024-1-19 23:34:48 | 显示全部楼层 |阅读模式
还有一种创建函数的方法。它很少被使用,但有些时候只能选择它。

语法
创建函数的语法:

let func = new Function ([arg1, arg2, ...argN], functionBody);
该函数是通过使用参数 arg1...argN 和给定的 functionBody 创建的。

下面这个例子可以帮助你理解创建语法。这是一个带有两个参数的函数:

let sum = new Function('a', 'b', 'return a + b');

alert( sum(1, 2) ); // 3
这里有一个没有参数的函数,只有函数体:

let sayHi = new Function('alert("Hello")');

sayHi(); // Hello
与我们已知的其他方法相比,这种方法最大的不同在于,它实际上是通过运行时通过参数传递过来的字符串创建的。

以前的所有声明方法都需要我们 —— 程序员,在脚本中编写函数的代码。

但是 new Function 允许我们将任意字符串变为函数。例如,我们可以从服务器接收一个新的函数并执行它:

let str = ... 动态地接收来自服务器的代码 ...

let func = new Function(str);
func();
使用 new Function 创建函数的应用场景非常特殊,比如在复杂的 Web 应用程序中,我们需要从服务器获取代码或者动态地从模板编译函数时才会使用。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表