es6,js有个案例 跪求解释,参数怎么成了要执行的函数代码了,如下str

let str = 'return ' + 'Hello ${name}!';
let func = new Function('name', str);
func('Jack') // "Hello Jack!"

3个回答

Function 构造函数
new Function ([arg1[, arg2[, ...argN]],] functionBody)
参数
arg1, arg2, ... argN
被函数使用的参数的名称必须是合法命名的。参数名称是一个有效的JavaScript标识符的字符串,或者一个用逗号分隔的有效字符串的列表;例如“×”,“theValue”,或“A,B”。
functionBody
一个含有包括函数定义的JavaScript语句的字符串。

这是一种生成函数对象的方式之一

${name} 在es6里面是一种 模板字符串变量的写法。它是不会当做字符串来解析的,会自动认为这个是一个变量。可以看一下阮一峰老师写的ES6教程 模板字符串变量

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐