new Function ([arg1[, arg2[, ...argn]],] functionBody)其中, arg1, arg2, ..., argn 为函数的参数列表, functionBody 为函数体的字符串表示。当调用 new Function() 函数时,JavaScript 引擎会将 arg1, arg2, ..., argn 所表示的参数和 functionBody 所表示的函数体组合成一个新的函数对象,并...
newFunction('a','b','return a + b');// 基础语法newFunction('a,b','return a + b');// 逗号分隔newFunction('a , b','return a + b');// 逗号和空格分隔 使用new Function创建的函数,它的[[Environment]]指向全局词法环境,而不是函数所在的外部词法环境。因此,我们不能在new Function中直接...
英文|https://javascript.plainenglish.io/in-depth-js-new-function-syntax-b1957c5dab69 JavaScript技术一直处于不断发展壮大中,如果你是前端开发人员或者JavaScript开发工程师,那么,今天这个知识点,你有必要认真了解一下,它就是“new Function”。 1、语...
我们平时开发 JavaScript 或者 Node.js 的时候,没有理由使用 new Function 构造函数,因为不需要直接使用函数或者 () => {} 箭头函数。 这是否意味着 new Function 语法是一个鸡肋的功能? 千万不要这样想!因为它绝对不是你想的那样! new Function 语法有一个特别强大的特性,使它在 JavaScript 中发挥着不可替代...
JavaScript技术一直处于不断发展壮大中,如果你是前端开发人员或者JavaScript开发工程师,那么,今天这个知识点,你有必要认真了解一下,它就是“new Function”。 1、语法 语法如下: let func = new Function ([arg1, arg2, …argN], functionBody); 1.
JavaScript技术一直处于不断发展壮大中,如果你是前端开发人员或者JavaScript开发工程师,那么,今天这个知识点,你有必要认真了解一下,它就是“new Function”。 1、语法 语法如下: 代码语言:javascript 复制 letfunc=newFunction([arg1,arg2,…argN],functionBody); ...
今天给大家介绍一个JavaScript创建函数的方法,非常少见,还是需要了解一下。我是在看一个老项目时偶尔发现了这种方式。 首先是使用方法如下: let func = new Function ([arg1, arg2, ...argN], functionBody); 这个函数使用了参数arg1到argN,给定了functionBody作为方法体。如果还看不大明白,看看下面的具体使用:...
log('hello javascript');//hello javascript new Function(参数1,参数2,…,参数n,函数体),它的本意其实是通过实例化一个Function原型,得到一个数据类型为function的对象,也就是一个函数,而该变量(log)就是函数名(理解为:new Function实例化一个Function原型,得到 一个匿名函数 ,然后赋值给变量log)。
之前也是仅仅知道此方法,但是没有具体的研究搞懂,但是最近一两年一直在倒腾低代码的项目,原理上来说,低代码都是一堆字符串,为了解析字符串就使用了new Function 构造函数(eval方法也是可以的),在此在记录一下,加深理解。详情参见:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions...
平常进行 JS 或者 Node.js 开发的时候,我们是没有任何理由使用 new Function 构造函数的,因为没必要,直接使用function或者() => {}箭头函数写法就好了。 那是不是表示 new Function 语法是个鸡肋特性呢? 不!绝不是! new Function 语法有个特别厉害的特性,使其成为 JavaScript 这门语言中无可替代的重要角色。