note

1.读取用户的json配置,并执行用户json模型中的方法

const data= {
"methodString": "function(arg1, arg2) { return arg1 + ' ' + arg2; }"
}
const method = new Function('arg1', 'arg2', 'return (' + data.methodString + ')(arg1, arg2);');
method('hello','world')
new Function 构造函数:

Function 构造函数用于创建一个新的函数对象。
它接受多个参数,其中第一个和第二个参数是函数的参数名(在这个例子中是 'arg1' 和 'arg2'),最后一个参数是函数体的字符串表示。
参数名: 'arg1' 和 'arg2' 是传递给新创建的函数的参数名。
函数体: 字符串定义了一个立即执行的函数表达式(IIFE):

javascript
(function(arg1, arg2) {
return arg1 + ' ' + arg2;
})(arg1, arg2);
```

IIFE 的作用是定义一个匿名函数并立即执行它,返回结果。
执行过程:
当你调用 method(arg1, arg2) 时,arg1 和 arg2 会被传递给这个新创建的函数。
函数体内定义的 IIFE 会立即执行,并返回 arg1 + ' ' + arg2 的结果。
示例
假设你调用 method('Hello', 'World'):
arg1 和 arg2 被设置为 'Hello' 和 'World'。
IIFE 被执行:

javascript
(function(arg1, arg2) {
return arg1 + ' ' + arg2;
})('Hello', 'World');
返回值是 'Hello World'。
所以,method('Hello', 'World') 的返回值是 'Hello World'。

总结
new Function('arg1', 'arg2', "...") 创建了一个新的函数,该函数接受两个参数 arg1 和 arg2。
函数体内定义了一个 IIFE,该 IIFE 立即执行并返回 arg1 + ' ' + arg2 的结果。
调用 method('Hello', 'World') 会返回 'Hello World'。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 10,464评论 0 29
  • bash脚本编程: case语句: case支持glob风格的通配符:  *:任意长度的任意字符;  ?:任意单个...
    人間失格_430b阅读 1,527评论 0 0
  • 1.概念 在JavaScript中,this 是指当前函数中正在执行的上下文环境,因为这门语言拥有四种不同的函数调...
    BluesCurry阅读 4,866评论 0 2
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 6,660评论 0 6
  • 数据绑定语法 文本:使用大括号{{}},处理单次插值{{* msg}} 原始html,{{{html}}} 存在...
    Nico酱阅读 3,315评论 0 0